假设用户的地址是外键。
一个典型的PrimaryKeyRelatedField将用id表示外键:
{
id: 3,
first_name: eugene,
last_name: kim,
address: 9 # here 9 is address's id
}我想更改已更改的外键字段的默认表示形式,如下例所示。(希望没有我为每个外键字段定义序列化程序)
{
id: 3,
first_name: eugene,
last_name: kim,
address: {
id: 9 # difference here,
}
} 发布于 2016-10-15 14:55:05
尝尝这个
class MyPrimaryKeyRelatedField(PrimaryKeyRelatedField)
def to_representation(self, value):
if self.pk_field is not None:
return self.pk_field.to_representation(value.pk)
return {"id": value.pk}更新
class MyModelSerializer(serializers.ModelSerializer)
serializer_related_field = MyPrimaryKeyRelatedField然后将PrimaryKeyRelatedField替换为MyPrimaryKeyRelatedField,将serializers.ModelSerializer替换为MyModelSerializer
https://stackoverflow.com/questions/40060332
复制相似问题