【发布时间】:2020-05-10 10:47:21
【问题描述】:
我正在尝试在 Django 中进行制作和查询,但我无法获得我想要的输出。我想在 Django Query 中使用 group by 和 filter,我尝试通过查看 stackoverflow 和其他一些网站上的一些答案来使用注释,但无法使其工作。这是我使用过滤器后的回应。
[
{
"id": 11667,
"rate_id": "FIT-PIT2",
"name": "FIT-PIT111",
"pms_room": null,
"description": null,
"checkin": "",
"checkout": "",
"connected_room": null
},
{
"id": 11698,
"rate_id": "343",
"name": "dfggffd",
"pms_room": "5BZ",
"description": null,
"checkin": null,
"checkout": null,
"connected_room": null
},
{
"id": 11699,
"rate_id": "343",
"name": "dfggffd",
"pms_room": "6BZ",
"description": null,
"checkin": null,
"checkout": null,
"connected_room": null
}]
我想要做的是将所有具有相同rate_id 的pms_rooms 分组,大致是这样的
{'343':['5BZ','6BZ'],'FIT-PIT2':[null]}
我可以使用 dictionary 或 list 来做到这一点。
但我想直接从 table.objects.filter(condition).group_by('rate_id') 之类的查询中执行此操作,SQL 等效于 SELECT *,GROUP_CONCAT('name') FROM TABLE NAME WHERE PMS = hotel.pms GROUP BY rate_id 。有人可以帮帮我吗。谢谢。
【问题讨论】:
标签: python django python-3.x django-models