我正在嘗試通過(guò)查詢(xún)過(guò)濾我的客戶(hù)。用戶(hù)可以查找寫(xiě)在同一字段中的 cif 代碼和客戶(hù)名稱(chēng),因此我無(wú)法知道他是否正在尋找一件事或另一件事。我試圖弄清楚如何在兩個(gè)字段中進(jìn)行過(guò)濾而不排除另一個(gè)字段。我會(huì)嘗試舉一個(gè)例子:我的客戶(hù)桌上有這個(gè):[ { "company_name":"Best Bar EUW", "cif":"ABCD1234" }, { "company_name":"Word Bar EEUU", "cif":"POIU4321" }, { "company_name":"Not a bad bar", "cif":"MNVB1321" }]現(xiàn)在我想查找“EE”字符串:我想要的結(jié)果是第二個(gè)對(duì)象,但字符串“EE”不包含在“cif”中,因此它不會(huì)給我想要的結(jié)果,因?yàn)樗趦?nèi)在一個(gè)領(lǐng)域,但在另一領(lǐng)域則不然。這是我的客戶(hù)端模型:class Client(LogsMixin, models.Model): """Model definition for Client.""" company_name = models.CharField("Nombre de la empresa", max_length=150, default="Nombre de empresa", null=False, blank=False) user = models.OneToOneField(User, null=True, on_delete=models.CASCADE) cif = models.CharField("CIF", null=False, default="", max_length=50) platforms = models.ManyToManyField('consumptions.Platform', verbose_name=("Plataformas")) dateadded = models.DateTimeField("Fecha de inserción", default=datetime.datetime.now)我能用這個(gè)做什么?提前致謝 !
1 回答
尚方寶劍之說(shuō)
TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用邏輯或進(jìn)行contains查找
from django.db.models import Q
search_keyword = "EE"
or_expression = Q(company_name__contains=search_keyword) | Q(cif__contains=search_keyword)
Client.objects.filter(or_expression)
添加回答
舉報(bào)
0/150
提交
取消
