【发布时间】:2025-12-07 21:30:03
【问题描述】:
Django 框架如何制作初始表?
如果你创建 Django 项目并运行 migrate,它会生成如下表。甚至认为您没有在项目中制作任何应用程序,或者没有在 models.py 中为每个应用程序编写任何代码。
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
我了解什么是 ORM、MTV、迁移。我想弄清楚 Django 中是什么制作了这些初始表。
补充问题:
我了解我可以在 Meta 类中控制默认权限或自定义权限。如果我不设置,它会生成三个默认权限(添加、更改、删除)。
当我按照上面所说的进行迁移时,我可以在名为“auth_permission”的表中检查这些内容。有最初制作的记录
1;"Can add log entry";1;"add_logentry"
2;"Can change log entry";1;"change_logentry"
3;"Can delete log entry";1;"delete_logentry"
4;"Can add permission";2;"add_permission"
5;"Can change permission";2;"change_permission"
6;"Can delete permission";2;"delete_permission"
7;"Can add user";3;"add_user"
8;"Can change user";3;"change_user"
9;"Can delete user";3;"delete_user"
10;"Can add group";4;"add_group"
11;"Can change group";4;"change_group"
12;"Can delete group";4;"delete_group"
13;"Can add content type";5;"add_contenttype"
14;"Can change content type";5;"change_contenttype"
15;"Can delete content type";5;"delete_contenttype"
16;"Can add session";6;"add_session"
17;"Can change session";6;"change_session"
18;"Can delete session";6;"delete_session"
我该如何操作这些?例如。如果我想更改代码名称或不想设置默认权限(添加、更改、删除)怎么办?
【问题讨论】:
-
每个项目都默认包含一些应用。请参阅
settings.py中的INSTALLED_APPS。 -
感谢您的快速回答!我可以在 settings.py 中找到您在 INSTALLED_APPS 中提到的内容。我知道如果我使用命令“python manage.py startapp name”创建新应用程序,我应该在 INSTALLED_APPS 列表中添加名称。如何在 INSTALLED_APPS 中找到 django.contrib.admin 的代码以及它如何制作默认表?
-
请将其他问题移到单独的问题中。没问题!
-
您能解释一下如何在 INSTALLED_APPS 中找到代码以及它如何制作默认表吗? 'django.contrib.admin'、'django.contrib.auth'、'django.contrib.contenttypes'、'django.contrib.sessions'、'django.contrib.messages'、'django.contrib.staticfiles'、跨度>
-
这些表是由于上述模块中包含的模型而创建的。搜索安装 Django 的文件夹将允许您找到代码。