don*_*yor 6 python django django-q
我有一个模型:
class Authors(models.Model):
name = models.TextField()
person = models.ForeignKey(Person)
Run Code Online (Sandbox Code Playgroud)
和查询:
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')
Run Code Online (Sandbox Code Playgroud)
我收到错误:
'Q' object has no attribute 'split'
Run Code Online (Sandbox Code Playgroud)
为什么是这样?我没有使用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')
Run Code Online (Sandbox Code Playgroud)