2017-07-03 179 views
2

有一个扩展django-polymorphic模型:尝试使用Django的Lower做的时候,现在“下”对象有没有属性“分区”

class FooQuerySet(PolymorphicQuerySet): 
    .. 

确保order_by不区分大小写

qs.order_by(Lower('name')) 

越来越:

*** AttributeError: 'Lower' object has no attribute 'partition'


问题:有可能PolymorphicQuerySet导致此错误(因为它在常规查询集上工作正常)?

+0

annotateorder_by查询试试这个曾经qs.order_by(lower_name =更低( '名')) – Exprator

+0

***类型错误:ORDER_BY( )得到了一个意想不到的关键字参数'lower_name' – Oleg

+1

ohh对不起,试试这个qs.annotate(lower_name = Lower('name'))。order_by('lower_name') – Exprator

回答

2

试试这个,因为你需要将它传递给order_by

qs.annotate(lower_name = Lower('name')).order_by('lower_name')