过滤/限制django order_by

时间:2015-02-27 20:33:04

标签: django django-orm

使用django ORM,有没有办法限制或过滤order_by适用的范围?

Product.objects.filter(
    product_type__name=choices.PRODUCT_BOOK
).order_by(
    # need to order these last names by those 
    # who have a role code of "A01", then "B01"
    'contributor__writer__last_name'
)

1 个答案:

答案 0 :(得分:1)

即使使用原始SQL也无法仅通过某些行应用订单。所以最好的方法是按role_code排序alls和group。

此外,您可以通过role_code "A01""B01"获得贡献者,订购它们,然后让其他贡献者排除role_code,如果"A01"或{ {1}}。然后合并查询结果。

"B01"