Add plan variety change tracking

This commit is contained in:
akira
2026-04-05 16:32:57 +09:00
parent 5a9b6a053b
commit 21fb2323eb
6 changed files with 258 additions and 13 deletions

View File

@@ -5,6 +5,7 @@ from apps.fields.models import Field
from apps.materials.models import StockTransaction
from .models import Crop, Variety, Plan
from .models import RiceTransplantEntry, RiceTransplantPlan
from .services import NO_CHANGE, update_plan_with_variety_tracking
class VarietySerializer(serializers.ModelSerializer):
@@ -44,10 +45,12 @@ class PlanSerializer(serializers.ModelSerializer):
return Plan.objects.create(**validated_data)
def update(self, instance, validated_data):
for attr, value in validated_data.items():
setattr(instance, attr, value)
instance.save()
return instance
return update_plan_with_variety_tracking(
instance,
crop=validated_data.get('crop', NO_CHANGE),
variety=validated_data.get('variety', NO_CHANGE),
notes=validated_data.get('notes', NO_CHANGE),
)
class RiceTransplantEntrySerializer(serializers.ModelSerializer):