장고 관리 인터페이스에서 모델을 열려고하면 이러한 쿼리가 수천 번씩 발생하며 심각한 성능 문제가 발생합니다.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
장고 관리자가 select_related()를 사용하지 않는 이유는 무엇입니까? 여기
(나는 관리자의 학생 모델의 인스턴스 찾고 있어요) (내가 생각하는) 모델의 관련 부분은 다음과 같습니다
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)
"mhtl_user = models.OneToOneField (MHTLUser, unique = True)"를 주석 처리하면 쿼리가 사라집니다. 그래서 그것은 어떻게 든 그와 관련이 있습니다 ... –
Aaand MHTLUser의 __str__ 함수입니다. 문제가 해결되면 문제가 해결됩니다. 하지만 여전히 문제인지 궁금해합니다. –
이 같은 SQL 쿼리를 표시하기 위해 무엇을 사용하고 있습니까? – Kedare