我有一个模型:
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/