From deb03efaed17e11f7abb8bdddf4c5d712116219a Mon Sep 17 00:00:00 2001 From: Akira Date: Sun, 1 Mar 2026 17:19:18 +0900 Subject: [PATCH] =?UTF-8?q?FertilizationEntry.fertilizer=20=E3=82=92=20CAS?= =?UTF-8?q?CADE=20=E2=86=92=20PROTECT=20=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 施肥計画で使用中の肥料を削除すると計画エントリも消えていた問題を修正。 PROTECT にすることで、使用中の肥料は削除不可となり フロントエンドのエラーバナーで理由が表示される。 Co-Authored-By: Claude Sonnet 4.6 --- ...002_alter_fertilizationentry_fertilizer.py | 19 +++++++++++++++++++ backend/apps/fertilizer/models.py | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 backend/apps/fertilizer/migrations/0002_alter_fertilizationentry_fertilizer.py diff --git a/backend/apps/fertilizer/migrations/0002_alter_fertilizationentry_fertilizer.py b/backend/apps/fertilizer/migrations/0002_alter_fertilizationentry_fertilizer.py new file mode 100644 index 0000000..6e4e48c --- /dev/null +++ b/backend/apps/fertilizer/migrations/0002_alter_fertilizationentry_fertilizer.py @@ -0,0 +1,19 @@ +# Generated by Django 5.0 on 2026-03-01 08:19 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fertilizer', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='fertilizationentry', + name='fertilizer', + field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='fertilizer.fertilizer', verbose_name='肥料'), + ), + ] diff --git a/backend/apps/fertilizer/models.py b/backend/apps/fertilizer/models.py index 3a5ffee..22cc524 100644 --- a/backend/apps/fertilizer/models.py +++ b/backend/apps/fertilizer/models.py @@ -55,7 +55,7 @@ class FertilizationEntry(models.Model): 'fields.Field', on_delete=models.CASCADE, verbose_name='圃場' ) fertilizer = models.ForeignKey( - Fertilizer, on_delete=models.CASCADE, verbose_name='肥料' + Fertilizer, on_delete=models.PROTECT, verbose_name='肥料' ) bags = models.DecimalField(max_digits=8, decimal_places=2, verbose_name='袋数')