问题标签 [makemigrations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1195 浏览

django - 在 django 中使用 makemigration 时出错

我正在使用 virtualenv 运行 python3.5 和 Django 1.11 的开发服务器

当我使用“ python manage.py makemigrations ”时出现此错误

Traceback (most recent call last): File "manage.py", line 8, in <module> from django.core.management import execute_from_command_line File "/opt/hafez_bot/env/lib/python3.5/site-packages/django/core/management/__init__.py", line 13, in <module> from django.core.management.base import ( File "/opt/hafez_bot/env/lib/python3.5/site-packages/django/core/management/base.py", line 17, in <module> from django.db.migrations.exceptions import MigrationSchemaMissing File "/opt/hafez_bot/env/lib/python3.5/site-packages/django/db/migrations/__init__.py", line 1, in <module> from .migration import Migration, swappable_dependency # NOQA ImportError: No module named 'django.db.migrations.migration'

请帮我


我知道这是关于我的“ manage.py ”文件,它与迁移无关。因为“python manage.py help”引发了同样的错误

这是我的“点冻结”输出:

0 投票
3 回答
5113 浏览

django - Django makemigrations 在应用程序中未检测到更改

我的 makemigrations 命令有问题。

注意:到目前为止我已经成功地进行了迁移,所以这不是我第一次尝试在这个项目上进行迁移。

我在 INSTALLED_APPS 中有我的项目。

问题:由于某种原因,项目停止检测我的模型中的任何更改。

在我的项目 models.py 中,我有:

如果将新模型添加为 myModel4 类并将其导入 models.py 中,我尝试

我明白了No changes detected

我知道有很多关于进行初始迁移的帖子,所以我什至尝试

我什至尝试删除所有文件,__pycache__但它对我不起作用。

我什至尝试删除数据库并创建新数据库,但它也不起作用。

编辑:

因为我删除了数据库并重新创建了数据库,所以数据库是空的,但我仍然收到相同的消息。

0 投票
5 回答
16385 浏览

django - Django迁移:关系已经存在

我在 django 模型迁移方面遇到了麻烦。我的应用程序中有一些模型,并且里面已经有一些数据。当我在我的应用程序中添加一些模型并运行makemigrations时,应用程序报告说没有变化。我知道迁移时有时会出现一些错误,所以我删除了数据库中的 django_migrations 表并makemigrations再次运行,现在程序找到了我的新字段。

现在的问题是,如果我运行migrate系统告诉我一些表已经存在。(这是好的和正确的,因为他们这样做)。我不想删除那些表,因为我里面已经有数据了。

我无法运行migrate --fake,因为程序会认为我已经拥有所有表格,这是不正确的。

所以,我正在寻找一种方法来告诉程序:运行迁移,如果表存在则跳过它。(--fake它)

另一个问题是为什么这发生在我身上,makemigrations 无法识别我的更改(一些缓存问题,...)?

0 投票
2 回答
1003 浏览

python - ProgrammingError at "url" 关系 "app_model" 不存在 LINE 1: SELECT COUNT(*) AS "__count" FROM "app_model"

我已经搜索了有关此错误的每个 Stack Overflow 问题,但没有任何回复有帮助。尝试访问此特定模型 (AgentBasicInfo) 的管理页面时出现此错误。

“manage.py makemigrations”工作正常。“manage.py migrate”也可以正常工作。'manage.py runserver' 工作正常,整个网站工作正常,直到我尝试进入该模型的管理页面。

该应用程序已正确安装在 settings.py 的 INSTALLED_APPS 中。我正在为数据库使用 Postgres。

我努力了...

  1. 删除迁移并重新运行 makemigrations/migrate
  2. 删除此应用的整个迁移文件夹并重新运行 makemigrations/migrate
  3. 从我的所有应用程序中删除所有迁移并重新运行 makemigrations/migrate
  4. 我试过运行“manage.py migrate”和“mangae.py migrate app_name”。我仍然得到同样的错误。

这个模型(见下面的代码)是非常基本的。我的项目中有几个其他模型,它们在管理员中工作得很好,但只是这个特定的模型不起作用。

模型.py

设置.py

错误图片供参考

0001_initial.py

manage.py showmigrations 的输出:

0 投票
0 回答
34 浏览

python - Django makemigrations 错误?

django makemigrations 错误

我是 Django 的新手。我的错在哪里?

0 投票
1 回答
779 浏览

django - Django 迁移问题。makemigrations 忽略模型文件中的某些字段

这是我的模型文件

这是我的迁移

由 Django 2.0.2 于 2018-03-30 09:19 生成

从 django.db 导入迁移,模型

类迁移(migrations.Migration):

为什么忽略其他字段?将 Django 版本 2 与 MySQL 一起使用。

0 投票
2 回答
2487 浏览

django - 在 Docker 容器中运行的 Django:makemigrations 和 migrate 在启动时看不到应用程序的模型

我让 Django 在 Docker 容器中运行。我的 Docker 文件的 CMD 只运行一个脚本,launch.sh,其中包括以下命令:

因此,这些命令在我的 Django 项目上进行迁移,然后在我的容器启动时执行迁移(如果有的话)。这适用于特定的项目级迁移。

然而,不可避免的是,进行了项目级别的迁移——也就是说,从未进行过应用级别的迁移,因此也从未执行过。但是,如果我登录到容器(使用 docker exec -it ... bash)并手动执行相同的迁移命令,则会进行应用程序级别的迁移。

谷歌搜索和对我的代码的众多变体并没有为这种行为或任何修复提供任何解释,所以我很难过。

有任何想法吗?

PS这是我的项目和应用程序结构:

此外,我尝试在我的脚本中连续两次执行相同的命令集,并连续运行相同的命令集,但将我的应用程序指定为目标选项,但这些尝试仍然产生相同的结果:只有项目迁移是制作的,而不是应用程序迁移。

如被问及,这是我的 Dockerfile:

我的 Django 项目在启动时安装在 /django,并且在运行迁移命令之前,我的启动脚本 CD 到 /django。

0 投票
2 回答
5355 浏览

django - 无法在 django 模型中添加新字段

姜戈 2.0

我在 中创建了一个模型Blog app

一段时间后,我想在该模型中添加一个新字段。

我遵循了这个答案。但它给了我以下错误。

django.db.utils.OperationalError: (1054, "Unknown column 'blog_category.cover_pic' in 'field list'")

0 投票
1 回答
207 浏览

python - django - python makemigrations

抱歉,我对 Django 和 Python 很陌生

无论如何,我在 mac 上运行 python 2.7 并尝试在这里创建我的第一个项目。尝试 shell 命令时出现错误python manage.py makemigrations。我之前做了 pip 的升级,pip2 install --upgrade pip否则 Django 无法安装。

所以我不知道这可能是django版本的问题还是......

模型.py

设置.py

任何帮助,将不胜感激。谢谢!

0 投票
1 回答
355 浏览

django-models - 无法从 django 自定义种子命令导入模型

我有一个在 python 3.6 上运行的 django 2.0.6 项目。我想创建一个命令,使用和manage.py为项目数据库播种初始数据。我有子命令工作和打印到. 当我尝试导入模型时,出现以下错误fakerfactory_boystdout

然而,模型很好:python manage.py makemigrations工作,应用程序工作。

将模型移动到与项目相同的应用程序中并没有帮助。将模型剥离到仅包含一个带有 1 个字段的表的程度并没有帮助。在 commandshandle方法中移动导入没有帮助。