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

Python 在Django。如何使用字段长度进行排序,python,django,django-models,orm,django-orm,Python,Django,Django Models,Orm,Django Orm,如何使用字段长度进行排序 结果如下: Model.objects.all().order_by(len("field")) sql: select * from table order by len(field) 在Django 1.8及更高版本中,您可以执行以下操作: from django.db.models.functions import Length obj = Model.objects.all().order_by(Length('field').asc()) 已更新:对

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

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

 select * from table order by len(field)

在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')))