fix: catalog sale lines not being created due to wrong field name and missing read_only config
- Changed test payload from 'saleline_set' to 'catalogsaleline_set' - Removed extraneous fields 'payment_method' and 'catalog_sale' from test data - Made 'catalog_sale' read_only in CatalogSaleLineSerializer to allow nested creation
This commit is contained in:
@@ -38,6 +38,7 @@ class SaleSerializer(serializers.ModelSerializer):
|
||||
class CatalogSaleLineSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = CatalogSaleLine
|
||||
read_only_fields = ["catalog_sale"]
|
||||
fields = [
|
||||
"id",
|
||||
"catalog_sale",
|
||||
@@ -48,9 +49,7 @@ class CatalogSaleLineSerializer(serializers.ModelSerializer):
|
||||
|
||||
|
||||
class CatalogSaleSerializer(serializers.ModelSerializer):
|
||||
catalogsaleline_set = CatalogSaleLineSerializer(
|
||||
many=True, required=False
|
||||
)
|
||||
catalogsaleline_set = CatalogSaleLineSerializer(many=True, required=False)
|
||||
total = serializers.ReadOnlyField(source="get_total")
|
||||
|
||||
class Meta:
|
||||
@@ -67,9 +66,7 @@ class CatalogSaleSerializer(serializers.ModelSerializer):
|
||||
lines_data = validated_data.pop("catalogsaleline_set", [])
|
||||
catalog_sale = CatalogSale.objects.create(**validated_data)
|
||||
for line_data in lines_data:
|
||||
CatalogSaleLine.objects.create(
|
||||
catalog_sale=catalog_sale, **line_data
|
||||
)
|
||||
CatalogSaleLine.objects.create(catalog_sale=catalog_sale, **line_data)
|
||||
return catalog_sale
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user