问题标签 [django-south]
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.
django - Django South 迁移错误“包含空值”,带有 null=True 字段
向模型添加简单缩略图字段时
执行时./manage.py schemamigration test --auto
,South 产生以下迁移:
执行时./manage.py migrate test
,出现此错误:
django - 迁移 Django 固定装置?
我有一个 Django 应用程序。我有包含测试数据的 .json 夹具文件,单元测试使用数据来确认应用程序是否正常工作。我也使用 South 来迁移我的数据库。
在进行了几次数据库迁移之后,我的设备已经过时了,因为数据库已经迁移,例如添加了一个新的数据库列,而设备数据没有该列,因为它是在数据库更改之前捕获的。
在我迁移数据库时,将我的装置向前移动的最佳方式是什么?
django - 将 South 添加到 Django 项目、开发和生产中
将 South 添加到现有的 Django 项目中。我将它安装在开发机器和“生产”服务器上。
我在开发机器上做了以下操作,然后:将 South app 添加到 settings.py,
然后换了一些型号,然后
到目前为止似乎工作。我现在不太确定的是在生产服务器上做什么。只需手动重复所有这些步骤?上传修改过的settings.py,做syncdb,convert_to_south,上传修改过的models.py,做schemamigration,迁移?有些不同?这里的教程说了一些关于将迁移添加到版本控制中的内容,所以,大概,它们应该被上传并以某种方式应用到生产服务器上?
此外,现在我在开发机器上使用 sqlite3 并在服务器上使用 mysql - 它会让事情变得不同吗?
version-control - virtualenv 中的版本控制南迁移
我有一个 Django 站点放在文件夹中site/
。它受版本控制。我将 South 用于我的应用程序的架构和数据迁移。特定于站点的应用程序位于文件夹下site/
,因此它们及其迁移都受版本控制。
我管理一个 virtualenv 以保持第三方组件干燥和安全。我通过 PyPI 安装软件包。已安装包的列表被冻结在 requirements.txt 中,因此它们可以很容易地安装在另一个环境中。virtualenv 不在 VCS 下。如果 virtualenv 可以随时轻松删除和重建,我认为这是一个好方法。如果我需要测试我的站点,例如,使用另一个版本的 Python 解释器,只需激活另一个 virtulalenv。
不过,我想将 South 用于第三方软件包。问题来了。迁移脚本存储在应用程序的文件夹中,因此它们不在我的站点存储库中。但我希望迁移脚本受版本控制,这样我也可以在不同的阶段运行它们。
我不想对整个 virtualenv 进行版本控制,而是对第三方应用程序的迁移脚本进行版本控制。我该如何解决这个冲突?我的场景有什么误解吗?
django - 在南迁移运行之前加载夹具
我在创建自己的用户模型时犯了一个错误,正在尝试恢复。
我创建了一个南迁移,它复制了我的旧用户模型并创建了 django.contrib.auth.models.User 模型。为了确保我当前的用户不会被蒙在鼓里,我创建了一堆单元测试来确保一切都得到适当的转换。
所以,我需要测试一下南迁,看看它是否有效。为此,我需要在迁移运行之前加载旧用户类型的数据。我怎么做?
python - South django.db.utils.IntegrityError: django_content_type.name 在运行单元测试时可能不是 NULL
django.db.utils.IntegrityError: django_content_type.name may not be NULL
通过运行测试时出现此错误nosetest
。
我已经按照南教程中的说明完成了所有操作 - 初始迁移、假迁移等。通过runserver
命令正常运行站点就像魅力一样,但是在使用test
命令时 - 上述错误。
此外,在我的开发环境中,我使用sqlite
数据库,并且使用 django-nose 作为测试运行程序(在INSTALLED_APPS
.
有什么线索吗?
python - 我将如何使用 South 迁移将数据加载到 Django 的 auth_group 表中?
我想将一些新组添加到 Django 的“auth_group”表中,并且我更喜欢使用 South 将这些数据“迁移”到数据库中。不幸的是,我不确定我应该采取哪些步骤来创建迁移文件,然后让它加载我的夹具。
有什么想法吗?
django - 南迁后Django App中没有这样的列错误
我在这里遇到了评论者提出的相同问题:Django South - table already exists
没有后续行动,所以我想我会发布一个新问题。我有一个 Django 应用程序,我使用 South 管理其迁移。我在模型中添加了一个字段,然后运行
按预期运行。跑步
但是,导致错误指示与我更改的模型关联的表已存在。这让我想到了上面链接的问题,所以运行
解决了表错误,但现在我收到一个 Django 错误,即与新字段关联的列不存在。
显示架构符合预期。
任何关于如何解决这个问题的想法都值得赞赏!
django - 如何使用 Django South 为现有应用程序创建新数据库并设置默认值?
我正在使用一个使用 South 迁移数据库的操作系统项目。我正在从头开始构建一个新数据库,并且我想确保已设置 South,以便将来可以轻松更新数据库。
看来这个过程应该是:
- 创建数据库
- 同步数据库
- 迁移
但是,当我尝试迁移数据库时,较早的迁移之一(迁移 0004 并且它们转到 0009)会引发异常:
我不明白如何向迁移 0004 添加默认值,因此不会引发此异常。
不需要运行迁移,因为数据库是空的。
但是, south_migrationhistory必须包含所有迁移的列表以及应用它们的时间。
我试图破解它并手动将迁移 0009 添加到数据库中,但这引发了另一个错误,因为尚未运行中间迁移。我还尝试向数据库添加一个字段,看看我是否可以弄清楚 add_column 的语法看起来像提供的默认值 0。该格式看起来与这些旧迁移完全不同。
以下是 add_column 语法的 2 个不同版本:
所以,我猜想从创建 0004 到今天,South 代码发生了变化。
有没有办法使用 syncdb 构建数据库,然后以某种方式更新 south_migrationhistory 而无需运行 manage.py migrate ?
如果您有一个现有的带有 South 迁移的应用程序,您将如何从头开始构建一个新数据库?
我无法迁移,因为整数字段上没有默认设置。如何在旧迁移中设置默认值?该领域甚至不再存在。
尝试的语法:
我正在使用 South-0.7.2-py2.7.egg
django - django south 全新安装 --> 错误:未知命令 'schemamigration'
短篇故事
在新安装 South ( http://south.aeracode.org/./manage.py schemamigration junk_app --initial
)后,我在一个全新的 django 项目上运行,我收到以下错误:
编辑:我有 .7 版(south/ init.py有版本=“.07”)
很长的故事
以下几乎是刚刚发生的事情的文字复制/粘贴:
.
.