问题标签 [django-migrations]

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 回答
1527 浏览

python - Django 重命名模型。创建新的 django_content_type 而不是重命名旧记录

设置:

姜戈 1.7 | Postgres 9.x

假设我创建了一个TestGeneric实例,将它与 a 关联Building并保存它:

现在我重命名BuildingsBuilding并运行makemigrations. 提示我Did you rename the app.Buildings model to Building? [y/N]

我选择是。然后我运行migrate并得到:

无论我回答什么,Django 都会自动在django_content_type其中创建一个新行building作为名称和标签。有没有办法重命名,ContentType这样我的所有 TestGeneric 行都不会被吹走?

0 投票
1 回答
116 浏览

python - 不断检测到 Django 1.7.2 迁移变化

下面我的模型似乎在运行时不断检测更改的变化makemigrations。在带有 South 的 Django 1.6.4 中,情况并非如此。

您的模型具有尚未反映在迁移中的更改,因此不会应用。运行manage.py makemigrations以进行新的迁移,然后重新运行manage.py migrate以应用它们。

模型:

我通过注释掉 total_purchased 字段的验证器属性解决了这个问题。有没有办法解决这个问题而不删除验证器,同时仍然能够引用“total_purchased”验证器中的前一个字段“容量”?任何帮助,将不胜感激。

0 投票
1 回答
954 浏览

django - 如何引入唯一性和冲突数据?

我为我的网站编写了一个小 qna 脚本,为了防止用户开始讨论,我希望每个用户只能回复一次。

现在迁移给了我:

当然,独特性与现有数据发生冲突。我现在需要知道的是如何告诉迁移删除冲突的答案。一个愚蠢的解决方案,比如保留第一个找到的解决方案已经是一个很大的帮助。更好的是通过自定义函数比较冲突的 A 的方法。

我正在使用新的迁移系统运行 Django-1.7 - 而不是 South。

谢谢你的帮助!

0 投票
1 回答
1308 浏览

django - 无法在迁移中使用 GenericForeignKey 创建模型实例

重要提示:这个问题不再相关。


在 Django 1.7 迁移中,我尝试使用以下代码以编程方式创建注释条目:

它会产生一个错误: TypeError: 'content_object' is an invalid keyword argument for this function

但是,相同的代码(即Comment(content_object=comment.booking))在 shell 中执行时可以工作。

我尝试创建一个空白模型,new = Comment()然后手动设置所有必要的字段,但即使我相应地设置content_typeobject_pk字段,它们content_type实际上并没有保存,我收到了django.db.utils.IntegrityError: null value in column "content_type_id" violates not-null constraint

知道如何在迁移中正确创建具有通用外键的模型吗?或者任何解决方法?

0 投票
1 回答
902 浏览

python - Django:迁移依赖于删除的 3rd-party 模块

在我的 django 项目中,我一直在使用django-taggit为模型添加标记功能。

迁移添加标签还将初始taggit迁移列为依赖项:

在稍后的某个时间点,我在所有地方都删除了 taggit,包括INSTALLED_APPS.

问题是 django 无法解决属于taggit的迁移,并引发错误。

在这种情况下,首选的解决方案是什么?

我可以想到一个两步策略:

  1. 保持taggit直到INSTALLED_APPS所有运行项目的服务器都是最新的
  2. 之后进行壁球迁移,以便该字段不再显示,然后才从中删除taggitINSTALLED_APPS
0 投票
0 回答
1906 浏览

django - 迁移运行正确,但不创建新列(Django 1.7)

我想运行一些迁移。在我想运行我的网站之前,一切似乎都运行正常。缺少一列。我可以手动修复它,但我想了解我在运行迁移时犯的错误。

这是我的迁移文件的一部分,其中添加了该列:

这些是我正在运行的命令:

在这第一步中,创建列meta_title
如果我运行迁移,shell 输出:

在这一点上,我希望在数据库中创建 meta_title 列......但是什么也没发生......我确定我在正确的数据库中并且我的设置是正确的。因为如果我手动创建 meta_title 列,则网站运行时不会出现错误。

有人可以帮助我吗?

0 投票
1 回答
1115 浏览

python - Django 1.7 makemigrations 将表重命名为 None

我不得不将几个模型从一个应用程序移动到另一个应用程序,并按照此答案https://stackoverflow.com/a/26472482/188614上的说明进行操作。
基本上我使用了CreateModel由 生成的迁移python manage.py makemigrations,将它们包装在里面state_operations,并添加了'db_table'带有旧表名称的元选项。
一切正常,模型new_app正确使用旧表。
但是,如果我运行它,它会为每个表python manage.py makemigrations new_app创建一个迁移,将它们重命名为,如下所示:AlterModelTableNone

这是一个错误,还是预期的行为?

0 投票
3 回答
2076 浏览

django - 无法让 Django 1.7 迁移来检测对我的数据库的正确更改。

我有一个在 MySQL 数据库中运行大量数据的生产 Web 项目。我正在尝试通过对名为“enterlink”的应用程序进行一些更改来更新数据库。我在现有模型中制作了新元素并完全创建了新模型。在此迁移之前,自从最初运行 syncdb 来创建它以来,我从未接触过 db 的架构。当我运行:“python manage.py makemigrations enterlink”时,会出现以下输出(图片)。我的问题是,为什么会这样?数据库已经包含了它在图片中列出的所有模型,那么它为什么要注册这些模型列表呢?当我通过执行“python manage.py migrate”或“python manage.py migrate --fake enterlink”(再次图片)完成迁移时,我得到了显示的输出,但我的数据库架构与旧数据库相同,并且任何新代码都会产生错误。谁能告诉我可能是什么问题?我会非常感谢任何建议。这非常令人沮丧,因为我不确定我错过了什么。

当我迁移我的 enterlink 应用程序时输出的样子

0 投票
1 回答
2022 浏览

django - Django 迁移更改字段类型

我对某些模型有 FK

我需要将其更改为 IntegerField 所以它看起来像

如何在不真正更改数据库中的任何内容的情况下添加新的迁移?

0 投票
2 回答
2433 浏览

python - 如何使用 django 1.7.3/postgres 迁移在数据库中设置默认列值?

似乎列的默认值仅在 ORM 层上,实际上并未在数据库中设置默认值。同时,例如 ID 键在数据库中有一个默认修饰符,它告诉我可以这样做,但不知道怎么做?

示例代码:

创建下表:

有没有办法default current_timestampcreated_at修改器中设置迁移?如果没有,有没有办法传入原始 SQL 迁移?我需要它,因为数据库被其他进程(例如批处理)使用,我不想在应用层强制执行诸如默认值之类的东西。