Files
keinasystem/backend/apps/fields/urls.py
Akira 64e7701456 実装サマリー
バックエンド(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 などで圃場詳細画面を開いて動作確認できます。
2026-02-18 14:02:40 +09:00

18 lines
918 B
Python

from django.urls import path, include
from rest_framework.routers import DefaultRouter
from . import views
router = DefaultRouter()
router.register(r'', views.FieldViewSet, basename='field')
urlpatterns = [
path('import/kyosai/', views.import_kyosai_master, name='import_kyosai'),
path('import/yoshida/', views.import_yoshida_fields, name='import_yoshida'),
path('import/chusankan/', views.import_chusankan_master, name='import_chusankan'),
path('<int:field_id>/kyosai-links/', views.add_kyosai_links, name='add_kyosai_links'),
path('<int:field_id>/kyosai-links/<int:kyosai_id>/', views.remove_kyosai_link, name='remove_kyosai_link'),
path('<int:field_id>/chusankan-links/', views.add_chusankan_links, name='add_chusankan_links'),
path('<int:field_id>/chusankan-links/<int:chusankan_id>/', views.remove_chusankan_link, name='remove_chusankan_link'),
path('', include(router.urls)),
]