0

我安装django-debug-toolbar并看到这个查询在每个页面请求上都被执行。

QUERY = u'SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."username" IS NULL LIMIT 21' - PARAMS = ()

Connection: default

这是INSTALLED_APPSinssettings.py文件。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'djcelery',
    'hct',
    'kombu.transport.django',
    'debug_toolbar'
)

所需时间因页面而异。我的文件中没有auth_user定义名为的表models.py。查询从哪里执行以及为什么在每个页面请求上执行。有没有办法优化这个查询?

4

2 回答 2

0

Django 在打印查询集时会自动发出 LIMIT 21。您是否有可能出于调试目的在某处打印此查询?

于 2015-01-01T12:29:49.343 回答
0

auth_user 是 Django 在您启动新项目时创建的默认表。我建议创建一个新项目(不要更改任何内容),并使用此数据库浏览器工具。这将帮助您更好地了解创建新项目时会发生什么。

于 2015-01-01T19:54:09.693 回答