在Django。如何使用字段长度排序

时间:2018-04-11 09:36:38

标签: python django django-models orm django-orm

如何使用字段长度进行排序
结果如下:

db1.Query("Select ad_id, subject, phone FROM ads limit 200 ")

sql:

Model.objects.all().order_by(len("field"))

1 个答案:

答案 0 :(得分:9)

在Django 1.8及更高版本中,你可以这样做:

from django.db.models.functions import Length

obj = Model.objects.all().order_by(Length('field').asc())

已更新:对于旧版本的Django,您必须依赖纯Python实现:

sorted(Model.objects.all(), key=lambda o: len(getattr(o, 'field')))