我想在过滤我的范文长度的基础上 像这样的东西

MyModel.objects.filter(len(text) > 10)

其中,文本是MyModel模型中的字符或文本字段

推荐答案

如果只添加一个预先计算(记忆)长度的列,速度会快很多

例如

class MyModel(models.Model):
    text = models.TextField()
    text_len = models.PositiveIntegerField()

     def save(self, *args, **kwargs):
         self.text_len = len(self.text)
         return super(MyModel, self).save(*args, **kwargs)

MyModel.objects.filter(text_len__gt = 10)     # Here text_len is pre-calculated by us on `save`

Django相关问答推荐

Django在保存时更新m2m对象

Django、htmx删除记录并更新

APIView查询未返回任何结果

将所有守护用户对象权限从一个Django用户重新分配给另一个Django用户

SQLite上可以正常使用Many2Many链接注释,但MariaDB上无法正常使用(生产环境)

如何在没有此前缀的情况下修复此 django 路径?

组织大型 Django 元素的指南

Django InlineModelAdmin:部分显示内联模型并链接到完整模型

JSP模板继承

Django 模型将外键设置为另一个模型的字段

在生产中使用 Django 中的 SQLite?

在 django 模板中遇到 user.is_authenticated 问题

Django admin:我可以定义字段顺序吗?

如何在 Django 中向 ChoiceField 添加class?

Django:获取上次用户访问日期

使用 Gunicorn 运行 Django - 最佳实践

如何在不同的元素上添加注释?

PyCharm 代码判断提示找不到模板文件,如何解决?

Django:根据自定义函数过滤查询

如何更改 ModelForm 中所有 Django 日期字段的默认小部件?