我有两个字段的模型。Product_ids_list = [1,2,3,4]Selling_prices_list = [65,89,93]product_ids_list和selling_prices_list的长度相同
我能够对一个product_id及其相应的销售价格执行以下ORM过滤器。
product_instances = Product.objects.filter(product_id=product_ids_list[0], selling_price=selling_prices_list[0]).first()
但是如何用一个DB调用product_ids_list和它对应的selling_prices_list来执行ORM过滤器。
product_instances = Product.objects.filter(product_id__in=product_ids_list, selling_price__in=selling_prices_list).first() (This isn't working in the expected way)
Ifproduct_id是ForeignKey和selling_price是IntegerField那么过滤器代码将是:
product_instances = Product.objects.filter(product_id__id__in=product_ids_list, selling_price__in=selling_prices_list).first()
既然你方提供的是产品编号清单,我们必须比较一下产品编号。如果我们使用product_id__in进行过滤,它将Product对象与列表中的id进行比较。
Suggesstion:最好将ForeignKey字段名设置为product代替product_id