incentive plan structure in quota serializer - V3
This commit is contained in:
@@ -20,17 +20,28 @@ class QuotaSerializer(serializers.ModelSerializer):
|
||||
).data
|
||||
representation['product'] = {"product": instance.product.name, "product_id": instance.product.id}
|
||||
|
||||
plans = [{
|
||||
"id": item.id,
|
||||
"quota": item.quota.id,
|
||||
"incentive_plan": item.incentive_plan.id,
|
||||
"livestock_type": item.livestock_type.id,
|
||||
"quantity_kg": item.quantity_kg
|
||||
} for item in instance.incentive_assignments.all()]
|
||||
# quota incentive plan data
|
||||
incentive_plan_map = {}
|
||||
for assign in instance.incentive_assignments.all():
|
||||
plan_id = assign.incentive_plan.id
|
||||
if plan_id not in incentive_plan_map:
|
||||
incentive_plan_map[plan_id] = {
|
||||
"id": assign.id,
|
||||
"name": assign.incentive_plan.name,
|
||||
"incentive_plan": plan_id,
|
||||
"live_stocks": []
|
||||
}
|
||||
|
||||
representation['incentive_plan'] = plans
|
||||
if assign.livestock_type:
|
||||
incentive_plan_map[plan_id]['live_stocks'].append({
|
||||
"id": assign.livestock_type.id,
|
||||
"name": assign.livestock_type.name,
|
||||
"quantity": assign.quantity_kg
|
||||
})
|
||||
|
||||
representation['attribute_values'] = product_serializers.AttributeValueSerializer( # noqa
|
||||
representation['incentive_plan'] = list(incentive_plan_map.values())
|
||||
|
||||
representation['attribute_values'] = product_serializers.AttributeValueSerializer(
|
||||
instance.attribute_values.all(),
|
||||
many=True
|
||||
).data
|
||||
|
||||
Reference in New Issue
Block a user