Принимая во внимание следующую модель, кэширует ли Django связанные объекты после первого обращения к ним?
class Post(models.Model):
authors = models.ManyToManyField(User)
category = models.ForeignKey(Category)
Например:
post = Post.objects.get(id=1)
# as i understand this hits the database
authors1 = post.authors.all()
# does this his the database again?
authors2 = post.authors.all()
# as i understand this hits the database
category1 = post.category
# does this hit the database again?
category2 = post.category
Примечание: в настоящее время работает с Django1.3, но хорошо знать, что доступно в других версиях.