class Product(models.Model):
product_name = models.CharField(max_length=32)
quantity = models.IntegerField()
remarks = models.TextField(blank=True)
class Vendor(models.Model):
vendor_name = models.CharField(max_length=50)
address = models.CharField(max_length=100)
bill_no = models.CharField(max_length=8)
product = models.ManyToManyField(Product)
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = '__all__'
class VendorSerializer(serializers.ModelSerializer):
product = ProductSerializer(many=True, read_only=False)
class Meta:
model = Vendor
fields = '__all__'
from rest_framework import viewsets
class VendorViewset(viewsets.ModelViewSet):
serializer_class = VendorSerializer
queryset = Vendor.objects.all()
如何覆盖VendorSerializer上的可写create()方法,以将产品详细信息添加到产品来自与供应商相关的供应商?
答案 0 :(得分:0)
您可以覆盖内置的serializer create method,但在pre_save signal中处理对象本身可能更有意义,这样您就可以访问ManyToMany对象字段。