1 回答

TA貢獻1853條經(jīng)驗 獲得超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
請記住,這是針對您使用相同的序列化程序來創(chuàng)建和列出產(chǎn)品的情況,以及您通過接收類別的 ID(寫入)創(chuàng)建產(chǎn)品,同時還想將其作為另一個發(fā)送的情況表示。
添加回答
舉報