バックエンド(3ファイル変更)
ファイル 変更内容
views.py OfficialKyosaiFieldViewSet、OfficialChusankanFieldViewSet(ReadOnly)、紐づけ追加/解除の4つのAPIビューを追加
urls.py 紐づけ管理用の4パス追加
serializers.py linked_field_namesフィールドを追加(紐づけ先の圃場名を返す)
keinasystem/urls.py /api/kyosai-fields/、/api/chusankan-fields/ をルーターに登録
新規API一覧
メソッド エンドポイント 動作確認
GET /api/kyosai-fields/ 31件返却
GET /api/chusankan-fields/ 71件返却
POST /api/fields/{id}/kyosai-links/ {"added":1}
DELETE /api/fields/{id}/kyosai-links/{kyosai_id}/ 204
POST /api/fields/{id}/chusankan-links/ 同上
DELETE /api/fields/{id}/chusankan-links/{chusankan_id}/ 同上
フロントエンド(3ファイル変更)
ファイル 変更内容
types/index.ts linked_field_namesプロパティ追加
fields/[id]/page.tsx 紐づけ管理UI全面実装(+追加ボタン、x解除ボタン、検索付きモーダル、面積参考表示)
fields/page.tsx 「共済」「中山間」紐づけ件数列を追加
http://localhost:3000/fields/4 などで圃場詳細画面を開いて動作確認できます。
36 lines
1.6 KiB
Python
36 lines
1.6 KiB
Python
"""
|
|
URL configuration for keinasystem project.
|
|
|
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
https://docs.djangoproject.com/en/5.2/topics/http/urls/
|
|
Examples:
|
|
Function views
|
|
1. Add an import: from my_app import views
|
|
2. Add a URL to urlpatterns: path('', views.home, name='home')
|
|
Class-based views
|
|
1. Add an import: from other_app.views import Home
|
|
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
|
|
Including another URLconf
|
|
1. Import the include() function: from django.urls import include, path
|
|
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
|
"""
|
|
from django.contrib import admin
|
|
from django.urls import path, include
|
|
from rest_framework.routers import DefaultRouter
|
|
from rest_framework_simplejwt.views import TokenObtainPairView, TokenRefreshView
|
|
from apps.fields.views import OfficialKyosaiFieldViewSet, OfficialChusankanFieldViewSet
|
|
|
|
master_router = DefaultRouter()
|
|
master_router.register(r'kyosai-fields', OfficialKyosaiFieldViewSet, basename='kyosai-field')
|
|
master_router.register(r'chusankan-fields', OfficialChusankanFieldViewSet, basename='chusankan-field')
|
|
|
|
urlpatterns = [
|
|
path('admin/', admin.site.urls),
|
|
path('api/fields/', include('apps.fields.urls')),
|
|
path('api/', include(master_router.urls)),
|
|
path('api/plans/', include('apps.plans.urls')),
|
|
path('api/reports/', include('apps.reports.urls')),
|
|
path('api/auth/jwt/create/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
|
path('api/auth/jwt/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
|
|
]
|