E.g我有一個模型Cat
,它有一個與Life
相反的ForeignKey
。如何過濾Django QuerySet的相關字段'all'或'none'
class Life(models.Model):
state = models.CharField(choices=('alive', 'dead', 'unknown')
cat = models.ForeignKey('animals.Cat', related_name="lives")
class Cat(models.Model):
name = models.CharField(max_length=12)
cat_type = models.CharField(choices=('normal', 'schroedinger')
...
如何獲得Cat
的QuerySet
A S已沒有失去他們的生活?即有所有他們的生活無論是在國家「活着」或者是cat_type「薛定諤」,並有沒有自己的生活狀態「死」)
這會導致多少數據庫匹配? 2,3,貓的數量+2? – Kimvais
我不太確定,如果將狀態字段移動到Cat,可能會有很少的命中 – metaphy
Life()'記錄的查詢集,你不能這樣做,因爲它基本上是'Cat.objects.all()| Life.objects.all()'。它不工作,因爲他們在不同的表 – metaphy