0

こんにちは私は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の少なくとも1つがtrueであるレコードをフェッチしようとしています。助けて...ありがとう

4

2 に答える 2

2

Qオブジェクト

Contact.objects.filter(Q(last_name__icontains=request.POST['query']) | 
                           Q(first_name__icontains=request.POST['query']))

REF:DjangoモデルクエリのOR演算子

于 2012-09-17T14:22:41.943 に答える
2

Qオブジェクトを使用する必要があります。このようなもの:

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()
于 2012-09-17T14:22:55.850 に答える