Django迁移文件夹在哪里?

问题描述 投票:2回答:2

我一定做错了什么。在任何地方,我都看到有人说“查看迁移文件夹”,但即使我可以看到迁移,也没有文件夹。

Karls-Mac-mini:django_test karl$ tree
├── django_test
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   ├── settings.cpython-35.pyc
│   │   └── urls.cpython-35.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

Karls-Mac-mini:django_test karl$ python manage.py showmigrations
admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add
 [X] 0003_logentry_add_action_flag_choices
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
 [X] 0009_alter_user_last_name_max_length
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
sessions
 [X] 0001_initial
django migration
2个回答
2
投票

简短回答:迁移源自您在INSTALLED_APPS中安装的Django应用程序和第三方应用程序。不是你自己定义的那些。

每个应用程序都会生成迁移,并存储在some_app/migrations中。

即使您没有为应用程序定义迁移,也会发生迁移,因为您(可能)包含了由qangxswpoi中的Django(和其他第三方)定义的一些应用程序,这些也有迁移。

例如,您的INSTALLED_APPS最有可能包含:

INSTALLED_APPS

如果我们看看# settings.py INSTALLED_APPS = [ # ... 'django.contrib.auth', # ... ],我们会看到source code of this app [GitHub] directiory。通过将此应用程序添加到migrations,您可以将Django库本身(或第三方)中定义的应用程序添加到您的项目中,因此这些应用程序的迁移以相同的方式处理(实际上没有什么“神奇的”关于这些应用程序,更重要的是这些应用程序处理常见问题,以便您不再需要关心这些问题)。

INSTALLED_APPS应用程序的文件结构类似于(省略噪音):

django.contrib.auth

这些是您在执行qazxsw poi应用程序(第二部分)的迁移时在控制台上看到的完全相同的迁移。


1
投票

Django Project实际上是一些应用程序和配置文件的组合。应用程序和配置文件实际上是Python模块/包。

每个Django项目都安装了一些默认的“应用程序” - 它们在django/ contrib/ auth/ migrations/ __init__.py 0001_initial.py 0002_alter_permission_name_max_length.py 0003_alter_user_email_max_length.py 0004_alter_user_username_opts.py 0005_alter_user_last_login_null.py 0006_require_contenttypes_0002.py 0007_alter_validators_add_error_messages.py 0008_alter_user_username_max_length.py 0009_alter_user_last_name_max_length.py列表中提到。

这些默认的“应用程序”不会存储/安装在项目目录中。

例:

auth

]

INSTALLED_APPS应用程序与您的应用程序一起使用。 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 目录可以在django.contrib.admin上找到(搜索你的python库目录)

**只有经过一定的经验后你才能看到一些东西 - 继续学习模型,你会看到迁移:) **

© www.soinside.com 2019 - 2024. All rights reserved.