私は次のモデルを持っていると一度に2つの属性に基づいてフィルタリングする方法:私はItem
がPK = 20を有し、そのItemInvolved
は種類= 10を持つすべてのParent
秒を取得したいDjangoのORM
class Parent(models.Model):
item_involved = models.ManyToManyField(Item, through=ItemInvolved)
class ItemInvolved(models.Model):
parent = models.ForeignKey(Parent, related_name='item_involvement')
item = models.ForeignKey(Item)
kind = models.PositiveIntegerField()
。
編集:
は、私は次のオブジェクトがあるとしましょう:
Parent(pk=1)
Parent(pk=2)
Parent(pk=3)
ItemInvolved(pk=11, parent=1, item=18, kind=10)
ItemInvolved(pk=12, parent=1, item=19, kind=10)
ItemInvolved(pk=13, parent=1, item=20, kind=10)
ItemInvolved(pk=14, parent=2, item=20, kind=10)
ItemInvolved(pk=15, parent=3, item=19, kind=10)
ItemInvolved(pk=16, parent=3, item=20, kind=20)
私が得られますクエリを必要とする:
[<Parent: 1>, <Parent: 2>]
以下の回答のいずれかが、それが1つを受け入れることをお勧めです、あなたを助けている場合! –