【发布时间】:2019-04-16 16:56:52
【问题描述】:
我无法理解为什么 Queryset 按其顺序返回。我们列出了文章的作者,这些作者存储在名为:articlepage_authors
我们需要能够逐条选择返回和显示它们的顺序。
例如,ID 为 44918 的文章的作者为 13752(“Lee Bodding”)和 13751(“Mark Lee”)。
我在返回的 shell 中调用了这些:
Out[6]: <QuerySet [<User: Mark Lee (MarkLee@uss778.net)>, <User: Lee Bodding (LeeBodding@uss778.net)>]>
在 postgres 中调用它:SELECT * FROM articlepage_authors;
表示用户Lee Boddingid=13752首先存储在表中。
id | articlepage_id | user_id
-----+----------------+---------
1 | 44508 | 7781
2 | 44508 | 7775
3 | 44514 | 17240
….
465 | 44916 | 17171
468 | 44918 | 13752
469 | 44918 | 13751
无论我尝试什么,例如删除作者,添加“Lee Bodding”,保存文章,然后添加“Mark Lee”,反之亦然——我仍然只能得到一个首先返回“Mark Lee”的查询集。
我不确定如何调试它。
一种解决方案是添加另一个定义作者顺序的字段,但我想先了解这里发生了什么。某些东西似乎已经在定义顺序,最好管理它。
【问题讨论】:
-
将python代码添加到这个问题可能会有所帮助。在文章中添加更多名称(或其他名称)可能也很有用,以查看它是否正在进行某种排序(很难确定只有两个项目的模式)。
标签: django postgresql django-queryset wagtail