django rest中的create()方法重写 models.py 序列化程序.py
在序列化程序和视图之后,当我浏览到input sell时,我得到了它们django rest中的create()方法重写 models.py 序列化程序.py,django,django-rest-framework,Django,Django Rest Framework,在序列化程序和视图之后,当我浏览到input sell时,我得到了它们 如何自动将Customer对象连接到Sell,以便不需要选择customers对象?使用代币或任何想法 另外,如何覆盖customer serializer上的create()方法以从customer视图添加产品详细信息 如果您需要将客户自动传递给sell serializer。您可以将其传递到视图中的序列化程序: serializer.save(customer=request.user) 您需要从序列化程序中排除cus
如果您需要将客户自动传递给sell serializer。您可以将其传递到视图中的序列化程序:
serializer.save(customer=request.user)
您需要从序列化程序中排除customer
字段:
class SellSerializer(serializers.ModelSerializer):
class Meta:
model = Sell
exclude = ('customer',)
要保存嵌套的产品
,您可以将所有新产品保存到列表中,然后将此列表传递到产品。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
如果您需要将客户自动传递给sell serializer。您可以将其传递到视图中的序列化程序:
serializer.save(customer=request.user)
您需要从序列化程序中排除customer
字段:
class SellSerializer(serializers.ModelSerializer):
class Meta:
model = Sell
exclude = ('customer',)
要保存嵌套的产品
,您可以将所有新产品保存到列表中,然后将此列表传递到产品。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