Я получаю тысячи таких запросов, когда пытаюсь открыть модель в интерфейсе администратора Django, и это приводит к серьезной проблеме с производительностью.
[sql] SELECT ... FROM `auth_user` WHERE `auth_user`.`id` = 9535
[sql] (21ms) Found 1 matching rows
[sql] SELECT ... FROM `auth_user` WHERE `auth_user`.`id` = 9536
[sql] (20ms) Found 1 matching rows
Есть идеи, почему администратор Django не являетсяиспользуя select_related ()?
Вот (я думаю) соответствующие части модели (я смотрю на экземпляр модели Student в админке):
from django.contrib.auth.models import User
class Student(models.Model):
user = models.OneToOneField(User, unique=True)
mhtl_user = models.OneToOneField(MHTLUser, unique=True)
def __str__(self):
return u"%s %s" % (self.user.first_name, self.user.last_name)
class MHTLUser(models.Model):
user = models.OneToOneField(User, unique=True)
def __str__(self):
return str(self.user)