我想在django中创建一个AND查询集。查询是给我所有具有特定ID的客户。我有id存储在python列表中。我最初的想法是以下
ids = range(1,21)
specific_customers = []
customers = Customer.objects.all() //Get them all
for customer in customers:
if customer.pk in ids:
specific_customers.append(customer)
但我不认为这是最好的方法。有更好或更快的想法吗?
答案 0 :(得分:2)
ids = range(1,21)
specific_customers = Customer.objects.filter(pk__in=ids)
或者,如果使用range()
不仅仅是一个示例,并且这实际上将始终是一系列数字,您应该使用range
lookup代替:
specific_customers = Customer.objects.filter(pk__range=(1, 21))
这两个示例都等同于您的原始代码。