该场景:我如何使用DISTINCT和ORDER BY RANDOM同时进行SELECT?
我在视图中有一个模型,我使用的是Django过滤器,所以我需要创建一个由Django过滤器过滤并随机排序的查询集。
的问题: Django的过滤器增加了一个清晰到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
我想可能存在任何添加rando的方法米到选择,任何想法?
Tha坏事是我需要hack django * filters – diegueus9 2012-03-02 19:14:27