Если вам нужно автоматически передать клиента в сериализатор продаж.Вы можете передать его в метод сохранения сериализатора в представлении:
serializer.save(customer=request.user)
Вам необходимо исключить поле customer
из сериализатора:
class SellSerializer(serializers.ModelSerializer):
class Meta:
model = Sell
exclude = ('customer',)
Для сохранениявложенные product
вы можете сохранить все новые продукты в списке и затем передать этот список методу product.add()
:
class CustomerSerializer(serializers.ModelSerializer):
product = ProductSerializer(many=True, read_only=False)
class Meta:
model = Customer
fields = '__all__'
def create(self, validated_data):
product_data = validated_data.pop('product')
customer = Custome.objects.create(**validated_data)
product_lits = []
for product_details in product_data:
product_list.append(Product.objects.create(**product_details))
customer.product.add(*product_list)
return customer