带有ANDed条件的Django`filter`和`Q`查询方法不起作用

2024-06-01 05:46:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用“and”逻辑过滤2个条件的模型。我也尝试过使用链式过滤器和Q方法,但没有得到理想的结果。它是“或”逻辑。请帮忙。你知道吗

我试过:

Products.objects.order_by('Name').values('Name', 'UPC', 'ProductPrice', 'SubDeptNumber', 'CategoryNumber', 'FirstCompPrice', 'SecondCompPrice', 'ThirdCompPrice').filter(Name_icontains="Land", UPC_contains="15")

以及

p = Products.objects.order_by('Name').values('Name', 'UPC', 'ProductPrice', 'SubDeptNumber', 'CategoryNumber', 'FirstCompPrice', 'SecondCompPrice', 'ThirdCompPrice').filter(Name_icontains="Land")

result = p.filter(UPC_contains="15")

我得到的结果显示所有UPC包含“15”的记录,即使名称不包含“Land”


Tags: namebyobjectsorder逻辑filterproductsvalues
1条回答
网友
1楼 · 发布于 2024-06-01 05:46:42

您只需要将这两个条件作为关键字参数传递给同一个筛选器,因为它们将是ANDed by default

Entry.objects.filter(
    headline__startswith='What',
    pub_date__gte=datetime.date.today()
)

相关问题 更多 >