例如,我有這樣的機型:Django的 - 反向查找
class Person(models.Model):
name = models.CharField(max_length=20)
employer = models.CharField(max_length=20)
class Car(models.Model):
person = models.ForeignKey(Person)
name = models.CharField(max_length=10)
model = models.CharField(max_length=10)
...
嗯,我想所有的人如何擁有一些特定的汽車:
people = Person.objects.filter(car__name="Toyota")
現在我想寫這個人與他的車的細節。我可以這樣做:
for person in people:
...
cars = person.car_set.filter(name="Toyota")
...
但它是數據庫的下一個命中。我怎樣才能避免這種情況?有什麼辦法可以簡化嗎?
使用這種技術的一個副作用是,如果你有沒有汽車的人,你不會在那個查詢中看到。這是因爲查詢是通過汽車領域啓動的。 – arustgi