Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 筛选多个ManyToManyField中间表字段_Python_Django_Many To Many_Django Orm - Fatal编程技术网

Python 筛选多个ManyToManyField中间表字段

Python 筛选多个ManyToManyField中间表字段,python,django,many-to-many,django-orm,Python,Django,Many To Many,Django Orm,我有一个普通的M2M,中间表中有一个附加字段: class Customer(models.Model): items = models.ManyToManyField(Item, verbose_name=u'Items', through='CustomerItem') class Item(models.Model): pass class CustomerItem(models.Model): item = models.ForeignKey(Item, re

我有一个普通的M2M,中间表中有一个附加字段:

class Customer(models.Model):
    items = models.ManyToManyField(Item, verbose_name=u'Items', through='CustomerItem')

class Item(models.Model):
    pass

class CustomerItem(models.Model):
    item = models.ForeignKey(Item, related_name='customer_items')
    customer = models.ForeignKey(Customer, related_name='customer_items')
    item_count = models.PositiveIntegerField(default=0)
我想获得一个包含给定客户所有项目的查询集,其中
item\u count>0
。到目前为止,我找到的唯一方法(从)是过滤中间表,然后用Python代码生成对象列表,但我需要一个查询集(用于表单
ChoiceField

Customer.object.filter(customeritem__item_count__gt=0)
这里-

items = Item.objects.filter(customer_items__customer=customer, customer_items__item_count__gt = 0)

当您将
相关的\u name='customer\u项目'
添加到
项目
外键时。您可以通过
Item.customer\u items
访问与任何
项目相关的
CustomerItem
。剩下的就是小菜一碟。

是否
items=Item.objects.filter(customer\u items\u customer=customer,customer\u items\u Item\u count\u gt=0)
起作用?@Bibhas似乎起作用了,请写一个答案