if w:
conditions['is_discount_table'] = 'Q(is_discount_table = True)'
conditions['is_discount_banquet'] = 'Q(is_discount_banquet = True)'
pl = Place.objects.filter(**conditions).order_by('name')
SQL WHERE看起來像
Django的條件過濾器或
WHERE (
"places_place"."is_discount_banquet" = true AND
"places_place"."is_discount_table" = true
)
如何修改w
條件,即SQL WHERE看起來像
相當於
WHERE (
"places_place"."is_discount_banquet" = true OR
"places_place"."is_discount_table" = true
)
Place.objects.filter(Q(is_discount_table = True) | Q(is_discount_banquet = True))
我有一些問題了解你的問題。但從根本上講,Q是一個Django類,所以當你在條件字典(第一個代碼塊)中將它寫成字符串時,它沒有什麼意義。 – benjaoming
問題是在創建正確的情況下。 – cetver