【发布时间】:2012-03-21 06:25:56
【问题描述】:
场景:
我在视图中有一个模型,我正在使用 django-filters,所以我需要创建一个由 django-filters 过滤并随机排序的查询集。
问题: django-filters 将 DISTINCT 添加到 SQL 中,类似于:
SELECT DISTINCT ... WHERE ("products_creditcard"."is_active" = True AND ("products_creditcard"."bank_id" = 3 OR "products_creditcard"."bank_id" = 1 OR "products_creditcard"."bank_id" = 4 )) ORDER BY RANDOM()
但这会为 postgresql 生成异常:
错误:对于 SELECT DISTINCT,ORDER BY 表达式必须出现在选择列表中 SQL状态:42P10 人物:1992
我认为可能存在将随机添加到选择中的任何方式,有什么想法吗?
【问题讨论】:
标签: django postgresql random django-orm django-filter