在姜戈。如何使用字段长度进行排序

In Django. How to sort using field length

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

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