例如,我有这样的机型: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