6

我有一个模型:

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

4

1 回答 1

8

Q()我认为您需要使用逻辑运算符(例如|or )加入过滤器&

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')
于 2014-04-03T17:37:03.980 回答