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

时间:2014-04-03 17:29:16

标签: 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() ..错误行在此查询行中。

1 个答案:

答案 0 :(得分:6)

我认为您需要使用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')