Add plan variety change tracking
This commit is contained in:
@@ -10,6 +10,7 @@ from .serializers import (
|
||||
RiceTransplantPlanSerializer,
|
||||
RiceTransplantPlanWriteSerializer,
|
||||
)
|
||||
from .services import update_plan_with_variety_tracking
|
||||
from apps.fields.models import Field
|
||||
|
||||
|
||||
@@ -120,15 +121,23 @@ class PlanViewSet(viewsets.ModelViewSet):
|
||||
updated = 0
|
||||
created = 0
|
||||
for field_id in field_ids:
|
||||
plan, was_created = Plan.objects.update_or_create(
|
||||
field_id=field_id,
|
||||
year=year,
|
||||
defaults={'crop': crop, 'variety': variety}
|
||||
)
|
||||
if was_created:
|
||||
plan = Plan.objects.filter(field_id=field_id, year=year).first()
|
||||
if plan is None:
|
||||
Plan.objects.create(
|
||||
field_id=field_id,
|
||||
year=year,
|
||||
crop=crop,
|
||||
variety=variety,
|
||||
)
|
||||
created += 1
|
||||
else:
|
||||
updated += 1
|
||||
continue
|
||||
|
||||
update_plan_with_variety_tracking(
|
||||
plan,
|
||||
crop=crop,
|
||||
variety=variety,
|
||||
)
|
||||
updated += 1
|
||||
|
||||
return Response({'created': created, 'updated': updated, 'total': created + updated})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user