问题标签 [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 投票
1 回答
961 浏览

django - 如何在 Django 中为不同数据库中的不同应用程序进行模型迁移

我已经为应用程序使用了 DB 路由器,但是在运行 migrate 命令后,表是在默认 DB 中创建的,为什么?

0 投票
0 回答
293 浏览

django - Makemigrations 给出 ValueError: too many values to unpack

我有一个工作项目,我想向其中一个模型添加一个新字段。我添加了新字段并运行了makemigrations命令,然后我得到了ValueError: too many values to unpack

这是模型:

我想添加这个字段:

然后我运行makemigrations命令,得到了这个异常异常:

我该如何解决?

非常感谢。

0 投票
3 回答
493 浏览

python - Django py manage.py makemigrate

我能用它做什么?我是python和django的初学者。我下载了它,我写了 py manage.py makemigrate,我得到了错误。你能帮我吗?

0 投票
1 回答
320 浏览

python - 在仅限容器的开发环境之外运行 django `makemigrations` 的体面做法是什么

我使用基于 Django 的应用程序创建了一个容器,并使用 PostgreSQL 创建了另一个容器,它们以网络方式相互链接,使用docker-compose.

如果我makemigrations在我的应用程序 docker 容器(链接到 PostgreSQL 容器)中运行 bash 会话的外部,如下所示:

我得到以下异常:

这是有道理的:我在容器执行上下文之外没有任何 PostgreSQL 实例(和配置)。

根据我从过去使用其他语言的经验以及类似这篇文章的其他帖子中了解到的情况,我希望运行makemigrations并提交它。

这将是创建和提交迁移文件的最佳方法:

  • 我是否应该尝试公开 PostgreSQL 容器并将其更改settings.py DATABASE为能够makemigrations从本地 bash 会话运行命令?
  • 我应该将容器内部执行的结果复制makemigrations到我的存储库中然后提交吗?
  • 我是否应该担心不提交迁移,而是使用docker-entrypoint.sh方法(示例)制作并运行它们?
  • 还有其他选择吗?
0 投票
1 回答
1415 浏览

python - 为什么我在 manage.py makemigrations 上出现语法错误?

我正在用 python 和 django 制作一个测试项目(用于学习目的)。在某些时候,我必须制作一个名为 products 的 django 应用程序,然后在“products”应用程序目录中的 models.py 文件中,我有以下代码:

然后在我参加迁移时在设置文件中添加新应用程序后,如图所示:

我得到的是这个错误:

然后每当我尝试使用 manage.py 文件时都会发生相同的错误。我不知道我做错了什么,请帮我解决这个问题。

0 投票
1 回答
152 浏览

python - django中迁移不起作用怎么办?

我在 Django 中创建模型时遇到问题。我想创建新模型,所以我编写代码:

在下一步中,我做了python manage.py makemigrations, python manage.py migrate。我得到了这个结果:

但我无权访问 Django 管理中的 Image 表。

有谁知道我该怎么办?或者可以看到错误、知道提示或其他帮助方式?

0 投票
1 回答
158 浏览

python - 如何处理`关系“cms_disclaimerpanel”已经存在`和ProgrammingError:关系“xyz”的列“http_request_lang”不存在

尝试将我的合并发送到我在循环 CI 上的自动化测试时,我遇到了一个相当烦人的问题。

就上下文而言,我继承了一个项目,作者不再从事我目前的工作。

我正在使用 django 并且已经完成了从本地 dev 分支到本地 master 分支的合并。合并进行得很顺利。但是,当通过 a 启动 django 服务器时manage.py runserver,它给了我警告Your project may not work properly until you apply the migrations for app(s)[...]

做的时候manage.py migrate,我遇到了第一个问题:

1-django.db.utils.ProgrammingError: relation "cms_disclaimerpanel" already exists

我通过手动编辑迁移文件来解决此问题,注释以下行

然后发生了第二个问题,同时携带我的manage.py migrate

2 -ProgrammingError: column "http_request_lang" of relation "cms_dynamicsettings" does not exist

我通过手动编辑迁移文件来解决此问题,注释以下行

manage.py能够完全运行。然后我跑了manage.py makemigrations,它给了我最后一个文件

通过上述更改,我可以运行manage.py runserver.

然后我将这 3 个文件添加到我的合并分支并为我的分支创建一个远程存储库。

创建的每个新存储库都通过单元测试运行,并且存在问题,因为它没有考虑到我新提交的三个文件。

它给了我以下错误,与第 2 点中的错误相同(见上文)。

使用我的开发环境作为模板,我的猜测是 circle ci 正在复制我遇到的相同问题并且我手动修复了该问题。

问题如下:

  • 有没有办法在我的模型cms_disclaimer通过那个该死的迁移文件之前删除它?如果是,如何?

  • 有没有办法不考虑迁移文件并告诉它不要删除列http_request_lang

  • 我的最后一个问题是为什么manage.py makemigrations没有看到数据库中的变化?

还有一个信息:

该数据库是使用分支主服务器构建的。我在另一个基于 master 的分支上结帐,将我的 dev 分支合并到 master 中,然后执行manage.py migrate

任何信息都会受到欢迎,因为我正在失去理智。

谢谢。

0 投票
1 回答
147 浏览

python - makemigrations 不添加任何列,除了 id 列

在创建app1并添加它之后,我在models.pyINSTALLED_APPS中编写了我的模型,包括一个包含两列&的表,然后在终端中输入:codname

它起作用了,但唯一创建的是一个带有名为 的列的表id,没有我的列(cod& name

当我更改模型时,例如添加新字段或更改max_length等,它回答:

我的数据库是postgresql,localhost

模型.py:

0 投票
1 回答
164 浏览

django - python3 manage.py makemigrations 未检测到更改

(fcdjango_venv) Subinui-MacBook-Pro:Impassion_community subin$ python3 manage.py makemigrations 未检测到更改

我现在正在学习 Basic Django,并且正在听讲座,但遇到了问题。我跟着讲座,所以首先我在models.py上输入代码

然后在终端上,我输入

但结果是

在讲座中,键入 python3 manage.py makemigrations 后

表明

我怎样才能得到相同的结果?

0 投票
1 回答
64 浏览

python - ModuleNotFoundError:没有名为“impassionuser”的模块

我在 vscode 上使用 django,并在终端上输入:

但不能使用 makemigrations

收到此错误消息

我怎么解决这个问题?

我正在使用 MacOSX、VSCode、django 和 setup virtualenv

我希望看到关注消息

在 settings.py 中,我已经添加了“impassionuser”