lia*_*eng -1 python django orm django-models django-orm
如何使用字段长度排序
结果如下:
Model.objects.all().order_by(len("field"))
Run Code Online (Sandbox Code Playgroud)
SQL:
select * from table order by len(field)
Run Code Online (Sandbox Code Playgroud)
在Django 1.8及以上版本中,您可以:
from django.db.models.functions import Length
obj = Model.objects.all().order_by(Length('field').asc())
Run Code Online (Sandbox Code Playgroud)
更新:对于旧版本的Django,您必须依赖纯Python实现:
sorted(Model.objects.all(), key=lambda o: len(getattr(o, 'field')))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |