Django 所有查询的select_related
例子
外键模型
我们将使用以下模型:
fromdjango.dbimport models class Book(models.Model): name= models.CharField(max_length=50) author = models.ForeignKey(Author) class Author(models.Model): name = models.CharField(max_length=50)
假设我们经常(总是)访问book.author.name
视野中
每次我们可以使用以下内容
books = Book.objects.select_related('author').all()但这不是DRY。
客户经理
class BookManager(models.Manager):
def get_queryset(self):
qs = super().get_queryset()
return qs.select_related('author')
class Book(models.Model):
...
objects = BookManager()注意:super必须更改对python2.x的调用
现在我们需要在视图中使用的是
books = Book.objects.all()
并且不会在模板/视图中进行其他查询。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短