python - 'Q' 对象没有属性 'split' - Django

标签 python django django-q

我有一个模型:

class Authors(models.Model):
   name = models.TextField()
   person = models.ForeignKey(Person)

并查询:

authors = Author.objects.filter(
                                (Q(name__iregex=r"\y{0}\y".format(s1)),
                                ~Q(name__iregex=r"\y{0}\y".format(s2))
                                ),
                                person=None).order_by('-id')

我收到错误:

'Q' object has no attribute 'split'

这是为什么呢?不过,我没有使用 split()。错误行在此查询行中。

最佳答案

我认为您需要使用 |& 等逻辑运算符来加入您的 Q() 过滤器。

authors = Author.objects.filter(
                                (Q(name__iregex=r"\y{0}\y".format(s1)) &
                                ~Q(name__iregex=r"\y{0}\y".format(s2))
                                ),
                                person=None).order_by('-id')

关于python - 'Q' 对象没有属性 'split' - Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844845/

相关文章:

python - 如何捕获 SMTPRecipientsRefused 异常(使用远程 SMTP 服务器和 django)?

python - 构造结构化数组时元组和列表有什么区别?

django - Django在Heroku上-损坏的管理静态文件

python - 打包 Django 项目的推荐方式?具有多个应用程序或多个 Django 包的 Django 包?

django - 按用户过滤不是在另一个模型查询集中使用 Q 的人员

django 动态过滤 q 个对象

python - Django 全局变量

python - 未定义对 "gsl_rng_unform"、 "gsl_rng_mt19937"、 "gsl_rng_alloc"、 "gsl_rng_set"的引用

python - 配置Geodjango时,gdal 1.10和python3.3在Windows 7上不兼容

django - 如何使用 docker 部署 django-q Worker?