给定一个序列化程序,引用自定义序列化程序:
class IndustryIdeaSerializer(serializers.ModelSerializer):
sub_industry = IndustrySerializer(many=False, read_only=True)
class Meta:
model = myModels.IdeaIndustry
fields = (
'id'
, 'sub_industry'
)
当我发布像{sub_industry:12}或{sub_industry_id:12}
这样的JSON时,我无法保存对此类的更改它确实返回了用于显示数据的正确JSON,我不会从该角度更改它。但是将其更改为:
class IndustryIdeaSerializer(serializers.ModelSerializer):
class Meta:
model = myModels.IdeaIndustry
fields = (
'id'
, 'sub_industry'
)
给我保存操作(可以使用简单的JSON保留)我想要但不是读取操作(不返回与该外键关联的所有数据)!
首先我错过了一些明显的东西吗?是否有一种模式来处理我所追求的行为 - 即读取并返回深层树,但只持有Id的
答案 0 :(得分:0)
没有任何内置可以明确处理此问题,但最近它已经出现了几次(例如here所以我们可能需要让它变得更容易。
解决方法是子类PrimaryKeyRelatedField,它将处理设置关系并覆盖to_native
以提供您所追求的完整序列化。
我希望有所帮助。