Django SQL查询计数
我在Django有以下型号:Django SQL查询计数,sql,django,django-models,Sql,Django,Django Models,我在Django有以下型号: class Author(models.Model): name = models.CharField(max_length=120) country = models.CharField(max_length=100) class Book(models.Model): title = models.CharField(max_length=1024) publisher = models.CharField(max_length
class Author(models.Model):
name = models.CharField(max_length=120)
country = models.CharField(max_length=100)
class Book(models.Model):
title = models.CharField(max_length=1024)
publisher = models.CharField(max_length=255)
published_date = models.DateField()
author = models.ForeignKey(Author)
作者表中有9条记录,图书表中有4条记录
计算Book.objects.select\u related().all()时将发出多少SQL查询
我的猜测是4,因为Book表中有4行,所以每个行查询1次,以搜索与每本书相关的所有作者。为什么我的答案是错的
可能的选择是5、4、10和1。
返回一个QuerySet
,它将“遵循”外键关系,在执行查询时选择其他相关对象数据。这是一个性能提升器,它会导致一个更复杂的查询,但这意味着以后使用外键关系将不需要数据库查询