1 回答

TA贡献1853条经验 获得超6个赞
您可以更新to_representation序列化程序的方法,以包含类别名称或使用嵌套表示。如果您想返回类别的名称:
class ProductSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
data = super().to_representation(instance)
data['category'] = instance.category.name
return data
如果你想返回类别的嵌套表示,你可以这样做:
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ('id', 'name',)
class ProductSerializer(serializers.ModelSerializer):
def to_representation(self, instance):
data = super().to_representation(instance)
data['category'] = CategorySerializer(instance.category).data
return data
请记住,这是针对您使用相同的序列化程序来创建和列出产品的情况,以及您通过接收类别的 ID(写入)创建产品,同时还想将其作为另一个发送的情况表示。
添加回答
举报