看看这个类似的问题:对查询集进行排序的好方法吗?-Django
您不能使用模型的元数据,
ordering因为它仅接受一个字段
https://docs.djangoproject.com/en/dev/ref/models/options/#ordering
您无法使用查询,
order_by('creation_date','birthdate')因为查询仅在生日相同时才按生日排序
creation_date
因此,您可以编写一个自定义管理器来为您合并一个自定义排序。
import operatorclass CarManager(models.Manager): def get_query_set(self): auths = super(CarManager, self).get_query_set().all().order_by('-creation') ordered = sorted(auths, key=operator.attrgetter('birthday')) return orderedclass Car(models.Model): sorted = CarManager()
所以现在您可以查询:
Car.sorted.all()
以获得所有已排序汽车的查询集
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)