【发布时间】:2017-07-31 17:56:09
【问题描述】:
我们正在使用 Django Rest Framework,但我是一名前端开发人员,他决定为他的下一个开源项目做一点 DRF。
我不想复制粘贴很多代码,因为您可以看到我所有的序列化程序、模型等...on GitHub。
我已经询问了工作中的开发人员。有人说我应该覆盖to_representation,这似乎不对,因为我们正在从头开始构建序列化模型。而工作中的其他 Django 开发人员建议我查看custom relation fields。
基本上给定以下序列化程序,我如何将连接表中的“类型”(命名错误)列包含在我的查询集中:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'countries')
在伪代码中,我正在寻找类似以下的内容,因此当您获得用户时,您还会获得关联的countries,这通过多对多关系以及加入表中的“类型”:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'countries', 'pinned.type')
我希望得到类似于以下内容的 JSON 响应:
{
"username": "wildhoney",
"countries": [
{ "country_id": 4, "type": 1 },
{ "country_id": 5, "type": 2 },
{ "country_id": 6, "type": 3 }
]
}
目前我只收到country_ids 的列表。
【问题讨论】:
标签: django orm django-rest-framework