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

orQ()のような論理演算子でフィルターを結合する必要があると思います。|&

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 に答える