我正在爲自動完成表單編寫後端代碼。我返回的每個條目都由該類別中的類別名稱和數字來描述。Django過濾器中的「In」或「reverse contains」查詢用於比較字符串
當用戶鍵入「CAT123」時,我想使用Django過濾器過濾到用戶查詢中包含的類別名稱或數字。
換句話說,我想執行類似的查詢:
Entry.objects.filter(Q(category__in = query) | Q(num__in = query))
其中過濾器測試,如果AAA
類是在查詢AAA 555
,如果數量555
是分別查詢AAA 555
。
但是,__in
似乎只適用於列表,而__contains
檢查另一種方式('AAA 555'不在'AAA'中)。
什麼是正確的過濾器表達式用於此「包含在一個字符串」的想法?
或者有沒有辦法將contains
表達式顛倒過來,以便過濾器看起來像Q(query__contains = category)
?