Django(使用postgres)以什么顺序返回数据库查询?

时间:2015-10-02 05:40:24

标签: django postgresql

我的网站上有一些东西以不同的顺序显示,具体取决于数据库中最后编辑的内容。

我在shell中确认了为

返回的顺序
>>>foo.objects.all()

取决于上次编辑的内容。我知道如何按照我想要的顺序显示对象,但我无法解释为什么它会在最后一次编辑时将它们拉出来。它在数据库中的哪个字段?数据库是否按照编辑的内容进行了不同的排序?

1 个答案:

答案 0 :(得分:2)

如果要设置默认排序,请使用ordering meta field

class Foo(models.Model):
  # ...
  class Meta:
    ordering = ['some_field', '-another_field']

如果不指定,则排序取决于底层存储系统。请查看this回答和问题comment by solarissmoke

如果需要,您可以稍后使用查询集的order_by方法覆盖它。