diff --git a/backend/apps/fields/admin.py b/backend/apps/fields/admin.py index 4f55bb1..2712899 100644 --- a/backend/apps/fields/admin.py +++ b/backend/apps/fields/admin.py @@ -19,7 +19,8 @@ class OfficialChusankanFieldAdmin(admin.ModelAdmin): @admin.register(Field) class FieldAdmin(gis_admin.GISModelAdmin): - list_display = ('name', 'address', 'area_tan', 'area_m2', 'owner_name', 'kyosai_field', 'chusankan_field') + list_display = ('name', 'address', 'area_tan', 'area_m2', 'owner_name') search_fields = ('name', 'address', 'owner_name') - list_filter = ('kyosai_field', 'chusankan_field') + list_filter = ('kyosai_fields', 'chusankan_fields') + filter_horizontal = ('kyosai_fields', 'chusankan_fields') gis_widget_kwargs = {'attrs': {'static_map': False, 'longitude': 139.0, 'latitude': 36.0, 'zoom': 10}} diff --git a/backend/apps/fields/migrations/0003_remove_field_chusankan_field_and_more.py b/backend/apps/fields/migrations/0003_remove_field_chusankan_field_and_more.py new file mode 100644 index 0000000..55deb28 --- /dev/null +++ b/backend/apps/fields/migrations/0003_remove_field_chusankan_field_and_more.py @@ -0,0 +1,31 @@ +# Generated by Django 5.0 on 2026-02-15 02:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fields', '0002_field_raw_chusankan_id_field_raw_kyosai_k_num_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='field', + name='chusankan_field', + ), + migrations.RemoveField( + model_name='field', + name='kyosai_field', + ), + migrations.AddField( + model_name='field', + name='chusankan_fields', + field=models.ManyToManyField(blank=True, related_name='fields', to='fields.officialchusankanfield', verbose_name='関連中山間マスタ'), + ), + migrations.AddField( + model_name='field', + name='kyosai_fields', + field=models.ManyToManyField(blank=True, related_name='fields', to='fields.officialkyosaifield', verbose_name='関連共済マスタ'), + ), + ] diff --git a/backend/apps/fields/models.py b/backend/apps/fields/models.py index 416066d..4d87cff 100644 --- a/backend/apps/fields/models.py +++ b/backend/apps/fields/models.py @@ -42,19 +42,15 @@ class Field(models.Model): raw_kyosai_k_num = models.CharField("細目_耕地番号", max_length=20, null=True, blank=True) raw_kyosai_s_num = models.CharField("細目_分筆番号", max_length=20, null=True, blank=True) raw_chusankan_id = models.CharField("中山間_ID", max_length=20, null=True, blank=True) - kyosai_field = models.ForeignKey( + kyosai_fields = models.ManyToManyField( OfficialKyosaiField, - on_delete=models.SET_NULL, blank=True, - null=True, related_name='fields', verbose_name="関連共済マスタ" ) - chusankan_field = models.ForeignKey( + chusankan_fields = models.ManyToManyField( OfficialChusankanField, - on_delete=models.SET_NULL, blank=True, - null=True, related_name='fields', verbose_name="関連中山間マスタ" ) diff --git a/data/中山間.ods b/data/中山間.ods new file mode 100644 index 0000000..d364a84 Binary files /dev/null and b/data/中山間.ods differ diff --git a/data/吉田農地台帳.ods b/data/吉田農地台帳.ods new file mode 100644 index 0000000..18b4f77 Binary files /dev/null and b/data/吉田農地台帳.ods differ diff --git a/data/水稲共済細目用.ods b/data/水稲共済細目用.ods new file mode 100644 index 0000000..d70df48 Binary files /dev/null and b/data/水稲共済細目用.ods differ