gpt4 book ai didi

django - 如何删除 Django 中的模型元排序或从内置管理器中获取原始查询集?

转载 作者:行者123 更新时间:2023-12-02 17:42:47 26 4
gpt4 key购买 nike

我有一个模型,它使用 Meta 排序属性来确保使用它的所有 View 都以相同的顺序显示内容。

但是,我有一种方法需要使用 distinct() 方法 - 这在应用排序后不起作用。是否有一种内置方法可以在应用排序之前检索原始查询集,或者我是否需要编写自定义管理器类来允许我执行此操作。

最佳答案

distinct() 之前调用 order_by(),不带参数。

发件人:https://docs.djangoproject.com/en/1.5/ref/models/querysets/#order-by

If you don’t want any ordering to be applied to a query, not even the default ordering, call order_by() with no parameters.

只要做一个快速测试就会发现,如果您执行 Foomodel.objects.order_by().distinct('bar') 它会正确删除所有 ORDER BY 子句,甚至在 Foomodel 的 Meta 中定义的。

关于django - 如何删除 Django 中的模型元排序或从内置管理器中获取原始查询集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18606959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com