我想使用“和”逻辑过滤具有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”的所有记录,即使名称中不包含“土地”
答案 0 :(得分:1)
您只需要将两个条件作为关键字参数传递到同一过滤器上,因为它们将是ANDed by default:
Entry.objects.filter(
headline__startswith='What',
pub_date__gte=datetime.date.today()
)