我想基於它的一個字段名稱是否在小寫字母值列表中篩選出一個查詢集。麻煩的是,有些字段值有大寫字母,所以我不能做Django對象管理器'較低'參數
all_listings = all_listings.objects.filter(make__name__in=makes)
是否有可能的方式說沿着
all_listings = all_listings.objects.filter(make__name__lower__in=makes)
我想基於它的一個字段名稱是否在小寫字母值列表中篩選出一個查詢集。麻煩的是,有些字段值有大寫字母,所以我不能做Django對象管理器'較低'參數
all_listings = all_listings.objects.filter(make__name__in=makes)
是否有可能的方式說沿着
all_listings = all_listings.objects.filter(make__name__lower__in=makes)
你可以嘗試使用一些線路Lower func
from django.db.models.functions import Lower
all_listings = all_listings.objects.annotate(name_lower=Lower('make__name')).filter(name_lower__in=makes)
你可以做
all_listings = all_listings.objects.filter(make__name__iregex=r'(' + '|'.join(makes) + ')')
謝謝itzmeontv,這個查詢和Dima的註釋都爲我工作。如果我可以標記兩個答案是正確的,我會的。 – JBT
嗨Dima,我希望那會是,但是當我用iexact嘗試查詢時,我得到錯誤「django.core.exceptions.FieldError:對於CharField不支持的查找'確切'或加入不允許的字段。 – JBT
對不起,我錯誤地讀取了您的查詢。我改變了我的答案。現在試試吧 –
非常好查詢迪瑪,謝謝。這兩種註釋方式,以及itzmeontv的正則表達式都可以工作。謝謝你們倆。 – JBT