Django-筛选器中WHERE语句的顺序

Django-筛选器中WHERE语句的顺序,django,django-queryset,Django,Django Queryset,我想在查询中为WHERE语句指定一个特定的ODER,以便在数据库中使用多列索引。 但代码中的顺序与结果查询不同: 代码: Mysql结果: WHERE (`accounts_usercity`.`province_id` = 6 AND `accounts_usercity`.`city_id` = 32 AND `accounts_usercity`.`user_id` = 26 ) 如何强制我自己的订单?如果您链接过滤器,它应该可以工作: 过滤器(用户=self.user)。过滤器(省=s

我想在查询中为WHERE语句指定一个特定的ODER,以便在数据库中使用多列索引。 但代码中的顺序与结果查询不同: 代码:

Mysql结果:

WHERE (`accounts_usercity`.`province_id` = 6 AND `accounts_usercity`.`city_id` = 32 AND `accounts_usercity`.`user_id` = 26 )

如何强制我自己的订单?

如果您链接过滤器,它应该可以工作:

过滤器(用户=self.user)。过滤器(省=self.province)。过滤器(市=self.city)

我在django 1.2.5中试用了它,效果很好

WHERE (`accounts_usercity`.`province_id` = 6 AND `accounts_usercity`.`city_id` = 32 AND `accounts_usercity`.`user_id` = 26 )