我有一個應用程式從前端的用戶那里獲取輸入。
我試圖實作的功能應該在前端顯示所有評論 <=0 的標題,或者在資料庫中顯示 NULL 值。
reviewsign_high = 'lte'
if reviewinput_high == '0':
review_kwargs = {
'amz_reviews__isnull': True,
'amz_reviews__{}'.format(reviewsign_high): float(reviewinput_high)
}
titles = titles.filter(**review_kwargs)
但是,我在這里沒有得到任何結果。如果我洗掉一個引數,即'amz_reviews__isnull': True,我會得到所有評論小于或等于 0 的標題。
反之亦然,如果我洗掉'amz_reviews__{}'.format(reviewsign_high): float(reviewinput_high),我會得到所有帶有 NULL 評論的標題。但它們在一起,顯示 0 個結果。關于這里的解決方案的任何想法?謝謝!
uj5u.com熱心網友回復:
生成 SQL 時,Django ORM 中的多個過濾器默認為“AND”。您應該考慮使用 Q 物件來指定“OR”查詢。https://docs.djangoproject.com/en/3.2/topics/db/queries/#complex-lookups-with-q-objects
from django.db.models import Q
titles = titles.filter(Q(**review_kwargs, _connector=Q.OR))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/367910.html
