首页 > 解决方案 > 如何在 Django ORM Query 中使用长度方法

问题描述

在下面的类中,我需要显示 25 以上的名称长度和国家 =UK

class Emp(models.Model):
   name=models.CharField(max_length=2000)
   country=models.CharField(max_length=1000)

我试过这个,但不工作

from django.db.models import CharField 
from django.db.models.functions import Length
CharField. register_lookup(Length, 'length') 
result = Emp.objects.filter(country='UK','name__length__gte=10)

标签: pythonpython-3.xdjangodjango-modelsdjango-rest-framework

解决方案


你可以试试这个;

from django.db.models.functions import Length


result = Emp.objects.annotate(name_length=Length("name")).filter(country='UK', name_length__gte=25)

文档


推荐阅读