我正在尝试使用嵌套序列化器,如果我从序列化器 A 中删除“product=ProductSerializer()”,代码将成功运行,否则会出现以下错误。
为什么 SizeSerializer 可以工作,但 Productserializer 却不能。
型号A
class SKU(models.Model):
size = models.ForeignKey(Size,on_delete=models.CASCADE)
product = models.ForeignKey(Product,on_delete=models.CASCADE)
number = models.CharField(max_length=100,null=True,blank=True)
price = models.IntegerField(null=True,blank=True)
parent_sku = models.CharField(max_length=100,null=True,blank=True)
active = models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)
B型
class Product(models.Model):
name = models.CharField(max_length=200,null=True,blank=True)
active = models.BooleanField(default=True)
Run Code Online (Sandbox Code Playgroud)
串行器A
class SKU_Serializer(serializers.ModelSerializer):
size = SizeSerializer()
product = ProductSerializer()
class Meta:
model = SKU
exclude = ('created_at','updated_at')
Run Code Online (Sandbox Code Playgroud)
串行器B
class ProductSerializer(serializers.ModelField):
class Meta:
model = Product
exclude = ('created_at','updated_at')
Run Code Online (Sandbox Code Playgroud)
json
{
"id": 1,
"size": {
"id": 1,
"name": "XL",
"active": true
},
"number": …Run Code Online (Sandbox Code Playgroud)