class AppUser(models.Model):
user = models.ForeignKey(User, unique=True)
slug = models.SlugField(editable=False, blank=True)
For above model suppose we have a object “appuser” which we have rendered in template
Does django hits User db each time when we use it like appuser.user.username in our code??
Any help on how in django/python db lookups are done while accessing foreign key and many-to-many variables ??
You should carefully read through this for all details to database access optimization: https://docs.djangoproject.com/en/1.3/topics/db/optimization/
And
select_related():https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related
As for a quick answer to your question: It depends on how you’ve retrieved the object
With
it will hit the database separately for appuser.user.
But with
It will do a joined query, so accessing appuser.user does not trigger an SQL query.