【发布时间】:2019-08-07 12:28:50
【问题描述】:
我正在从 django rest 框架构建 API。我有一个模型,其中有某些外键。对于该模型列表,我正在使用 ListAPIView。在该清单中,我想实现嵌套查询集。外键模型彼此之间没有直接关系。 在下面的例子中。 对于多个 x 可以有多个 y 对于多个 y,可以有多个 z。 所以我想要 json 响应作为唯一 x 并且在该对象中它的 y 和它的 z。
我尝试了注释和子查询。但这似乎并不能解决我的问题。
Table:
|x_id | y_id | z_id |
|1 | 2 | 3 |
|1 | 4 | 5 |
|1 | 2 | 6 |
class Workitem(models.Model):
{
x_id = # foreign key
y_id = # foreign key
z_id = # foreign key
}
class x(models.Model):
{
x_id =
x_name =
x_details =
}
class y(models.Model):
{
y_id =
y_unique_name =
y_task_details =
}
class z(models.Model):
{
z_id =
z_acc_name =
z_acc_details =
}
class WorkitemSerializer(serializers.ModelSerializer)
class Meta:
model = Workitem
fields = '__all__'
depth=2
目前我正在收到 JSON 响应
{
"count": 1,
"next": null,
"previous": null,
"results":
[
{ "x_id": {"x_details"},
"y_id": {"y_details"},
"z_id": {"z_details"}
}
]
}
我想要回复
{
"count": 1,
"next": null,
"previous": null,
results: ["x_id":{
"x_details":
"y_id": {
"y_details":
"z_id": {
"z_details":
}
},
},
]
}
【问题讨论】:
标签: python django django-rest-framework django-orm django-serializer