在Django查询中使用OR操作

在Django查询中使用OR操作,django,Django,嗨,我正在django查询中尝试使用OR运算符。我的代码如下所示: hotels = models.Hotel.objects.filter( wed=True, county=hotel_main.county.id, (x=True)|(y=True)|(z=True), subscriptions__end_date__gte=datetime.date.today(), subscriptions__enqu

嗨,我正在django查询中尝试使用OR运算符。我的代码如下所示:

hotels = models.Hotel.objects.filter(
        wed=True,
        county=hotel_main.county.id,
        (x=True)|(y=True)|(z=True),
        subscriptions__end_date__gte=datetime.date.today(),
        subscriptions__enquiry_count__lte=F('subscriptions__tier__enquiry_limit'),
    ).distinct()
我正在尝试获取一个记录,其中至少有一个以上的x,y,z为真。 任何帮助…谢谢你

参考号:

REF:

您必须使用该对象。大概是这样的:

hotels = models.Hotel.objects.filter(
    wed=True,
    county=hotel_main.county.id,
    subscriptions__end_date__gte=datetime.date.today(),
    subscriptions__enquiry_count__lte=F('subscriptions__tier__enquiry_limit')).filter( Q(x=True) | Q(y=True) | Q(z=True)).distinct()
您必须使用该对象。大概是这样的:

hotels = models.Hotel.objects.filter(
    wed=True,
    county=hotel_main.county.id,
    subscriptions__end_date__gte=datetime.date.today(),
    subscriptions__enquiry_count__lte=F('subscriptions__tier__enquiry_limit')).filter( Q(x=True) | Q(y=True) | Q(z=True)).distinct()

两个答案都是对的,但这一个使用了引用,所以应该被接受是的,把你的Q语句移到last@Jharwood上面的答案也有参考价值。。但是对于Qoh,这不是一个明显的链接。两个答案都是正确的,但这一个使用了引用,所以应该被接受。是的,把你的Q语句移到last@Jharwood上面的答案也有参考价值。。然而在Qoh上,这并不明显是一个可能的复制品的可能复制品