【发布时间】:2017-01-30 13:02:30
【问题描述】:
如果您在 Django 中创建新项目后第一次迁移,您会发现 Django 创建如下表。
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_migrations
django_session
现在我了解到这些表是因为 settings.py 中 INSTALLED_APPS 下的行而创建的。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
所以我开始查看 auth 文件夹下的 models.py(在我安装的 Django 文件夹中)。我预计models.py中会有六个类。因为我通过 ORM(Ojbejct Relation Mapping) 了解到 Class 转表。
auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
我可以在 auth 文件夹下的 models.py 中找到名为“Permission”的类、名为“Group”的类和名为“User”的类。我认为那些表'auth_permission','auth_group'和'auth_user'。那么其他呢?(auth_group_permissions、auth_user_groups、auth_user_user_permissions)我想了解这些表是如何由 Django 创建的(auth 文件夹中的models.py)。应该在 models.py 中查看哪里来理解这一点?
如果我能理解的话,我希望我能理解其他表是如何创建的(django_admin_log、django_content_type、django_migrations、django_session)。如果您还可以解释 Django 如何创建名为“django_migrations”和“django_session”的表,我将不胜感激。
提前谢谢你。祝你今天过得愉快。 enter image tables showing in pgAdmin3
【问题讨论】:
-
@e4c5 我之前回答过这个问题,但这是一个不同的问题
-
我打开了新问题。因为我得到了答案,这是因为 settings.py 中的 INSTALLED_APP 中的行。当我查看代码时,我遇到了新问题。我想了解为什么这些表是在代码级别创建的。
-
@techydesigner 谢谢。
标签: python django django-models migration