refactor update method to use dynamic field assignment in quota serializer
This commit is contained in:
@@ -83,27 +83,33 @@ class QuotaSerializer(serializers.ModelSerializer):
|
||||
def update(self, instance, validated_data):
|
||||
""" Custom Update """
|
||||
|
||||
instance.quota_id = validated_data.get('quota_id', instance.quota_id)
|
||||
instance.quota_code = validated_data.get('quota_code', instance.quota_code)
|
||||
instance.quota_weight = validated_data.get('quota_weight', instance.quota_weight)
|
||||
instance.remaining_weight = validated_data.get('remaining_weight', instance.remaining_weight)
|
||||
instance.quota_distributed = validated_data.get('quota_distributed', instance.quota_distributed)
|
||||
instance.product = validated_data.get('product', instance.product)
|
||||
instance.sale_type = validated_data.get('sale_type', instance.sale_type)
|
||||
instance.sale_unit = validated_data.get('sale_unit', instance.sale_type)
|
||||
instance.month_choices = validated_data.get('month_choices', instance.month_choices)
|
||||
instance.sale_license = validated_data.get('sale_license', instance.sale_license)
|
||||
instance.group = validated_data.get('group', instance.group)
|
||||
instance.has_distribution_limit = validated_data.get('has_distribution_limit', instance.has_distribution_limit)
|
||||
instance.distribution_mode = validated_data.get('distribution_mode', instance.distribution_mode)
|
||||
instance.has_organization_limit = validated_data.get('has_organization_limit', instance.has_organization_limit)
|
||||
instance.base_price_factory = validated_data.get('base_price_factory', instance.base_price_factory)
|
||||
instance.base_price_cooperative = validated_data.get('base_price_cooperative', instance.base_price_cooperative)
|
||||
instance.final_price = validated_data.get('final_price', instance.final_price)
|
||||
instance.is_closed = validated_data.get('is_closed', instance.is_closed)
|
||||
instance.closed_at = validated_data.get('closed_at', instance.closed_at)
|
||||
instance.limit_by_herd_size = validated_data.get('limit_by_herd_size', instance.limit_by_herd_size)
|
||||
instance.pos_sale_type = validated_data.get('pos_sale_type', instance.pos_sale_type)
|
||||
fields = [
|
||||
"quota_id",
|
||||
"quota_code",
|
||||
"quota_weight",
|
||||
"remaining_weight",
|
||||
"quota_distributed",
|
||||
"product",
|
||||
"sale_type",
|
||||
"sale_unit",
|
||||
"month_choices",
|
||||
"sale_license",
|
||||
"group",
|
||||
"has_distribution_limit",
|
||||
"distribution_mode",
|
||||
"has_organization_limit",
|
||||
"base_price_factory",
|
||||
"base_price_cooperative",
|
||||
"final_price",
|
||||
"is_closed",
|
||||
"closed_at",
|
||||
"limit_by_herd_size",
|
||||
"pos_sale_type",
|
||||
]
|
||||
|
||||
for field in fields:
|
||||
setattr(instance, field, validated_data.get(field, getattr(instance, field)))
|
||||
|
||||
instance.save()
|
||||
|
||||
# update assigned organization many to many
|
||||
|
||||
Reference in New Issue
Block a user