我有以下模型。
class Car(models.Model):
owner = models.ForeignKey('Driver')
class Country(models.Model)
name = models.CharField(max_length=255)
class Driver(models.Model):
name = models.CharField(max_length=255)
age = models.IntegerField()
country = models.ForeignKey('Country')
我想选择拥有汽车的司机的姓名。
Car.objects.all().values('owner__name')
我是否需要使用 select_related() 方法来避免每个对象的连接,或者它是多余的,因为隐含了 values() 方法?
Car.objects.all().select_related('owner').values('owner__name')
同样,这一次,我想要司机拥有汽车的国家/地区的名称。哪一个是最好的?
Car.objects.all().values('owner__country__name')
Car.objects.all().select_related('owner', 'country').values('owner__country__name')
Car.objects.all().select_related('owner__country').values('owner__country__name')