您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django自定义order_by

Django自定义order_by

看看这个类似的问题:@L_419_0@

您不能使用模型的元数据,ordering因为它仅接受一个字段

https://docs.djangoproject.com/en/dev/ref/models/options/#ordering

您无法使用查询order_by('creation_date', 'birthdate')因为查询仅在生日相同时才按生日排序creation_date

因此,您可以编写一个自定义管理器来为您合并一个自定义排序。

import operator
class 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 ordered

class Car(models.Model):
    sorted = CarManager()

所以现在您可以查询

Car.sorted.all()

以获得所有已排序汽车的查询

Go 2022/1/1 18:37:34 有374人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶