Django 1.7 - App 'your_app_name'没有迁移

tpxzln5u  于 2023-07-01  发布在  Go
关注(0)|答案(5)|浏览(173)

我正在尝试从Django 1.6.7升级到Django 1.7.1,所以我一直在尝试迁移我的应用程序。
我在这里跟随Django文档。
我从我安装的应用程序中删除了南方。
在迁移目录中,我删除了编号的迁移文件和.pyc文件,但保留了目录& __ init__.py文件。
然后我跑:

python manage.py makemigrations your_app_name

我收到以下确认消息:

Migrations for 'your_app_name':
  0001_initial.py:
    - Create model UserProfile

接下来我跑:

python manage.py migrate your_app_name

我收到以下错误:

CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)

根据文档,我还运行了:

python manage.py migrate --fake your_app_name

我收到了相同的错误消息:

CommandError: App 'your_app_name' does not have migrations (you cannot selectively sync unmigrated apps)

有人能解释一下为什么这对我不起作用吗?

68bkxrlz

68bkxrlz1#

我注意到,只有那些实际包含migrations文件夹的应用程序才能被迁移识别。IE在models.py你的应用程序中只有www.example.com是不够的。

6ovsh4lw

6ovsh4lw2#

如果您只有一个应用程序,则运行migrate时不指定应用程序或迁移可能有效。
如果是这样,首先要检查的是您的应用程序名称是否与www.example.com中INSTALLED_APPS下指定的名称匹配settings.py。
正如评论中指出的,应用程序名称可以采用[parent_app].[app_name]的形式。在这种情况下,migrate只需要[app_name]。

vaj7vani

vaj7vani3#

您的应用必须包含models.py文件(甚至是emtpy)。
来源:https://groups.google.com/forum/#!msg/django-users/bsTZEmxgDJM/wH0p3xinBWIJ

6yoyoihd

6yoyoihd4#

再提一个可能的原因:
在我的Django应用程序中,我添加了正确的迁移,并使用pip安装了应用程序,并得到了相同的错误。
我缺少的是一个正确的MANIFEST.in文件。另外,www.example.com文件中的setup()中的参数include_package_datasetup.py没有设置为True

taor4pac

taor4pac5#

请确保以下事项:
1.确认已将“app_name.apps.AppNameConfig”添加到已安装应用的列表中。
1.仔细检查settings.py文件中项目的数据库配置。
1.确保每个应用程序都包含一个名为migrations的目录,并且在该目录中有一个名为__init__.py的文件。

相关问题