当我执行syncdb时,如何阻止django同步某些表?

时间:2011-09-05 18:18:06

标签: django

每当我运行syncdb命令时,我都会创建很多auth表,但我不包括admin或auth包。以下是它自己创建的表格:

Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message

我不需要这些表格。在我的settings.py文件中,我已经注释掉AuthenticationMiddleware,MessageMiddleware以及除django.contrib.sessions和我自己的个人应用程序之外的所有应用程序。是否存在我缺少的某个设置,以便不创建这些表?

这是我的INSTALLED_APPS

INSTALLED_APPS = (
'deanproxy.globaltags',
'deanproxy.blog',
'deanproxy.auth',
'deanproxy.twitter',
#    'django.contrib.auth',
#    'django.contrib.contenttypes',
'django.contrib.sessions',
#    'django.contrib.sites', 
#    'django.contrib.messages',
#'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)

编辑:我刚刚意识到,如果我注释掉我自己的应用程序'deanproxy.auth',那么所有这些表都不会被创建。但是,我的auth应用程序不包括任何django auth的东西,它是一个非常非常简单的auth系统(只是电子邮件和密码)。看来Django可能会因为它的名字而感到困惑......

1 个答案:

答案 0 :(得分:0)

我找到了原因。我有一个名为'auth'的应用程序,它是一个非常简单的身份验证系统,并且远不及django auth应用程序。每当我将'deanproxy.auth'添加到我的INSTALLED_APPS时,似乎django包含了所有这些表。每当我将此应用程序重命名为其他内容时,这些表格都不再包含在内。我将尝试追踪它为什么会这样做...但是,如果其他人有此问题,只需将您的应用命名为auth以外的其他内容。即使你是从你的应用程序中包含它,它仍然认为它是django auth系统......