问题标签 [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.

0 投票
2 回答
387 浏览

django - 在 Django 模型中包含所有内容是否明智?

我刚刚继承了一个用于维护和持续开发的 Django 项目。虽然我是一个相当精通的程序员(也是 Python),但我几乎没有使用 Django 的经验,因此我需要对我的想法进行一些理智的检查;)

当前的问题是:项目包含一个自定义install.sh文件,它做了三件事:

  1. 创建一些非模型数据库并通过 SQL 导入初始数据
  2. 使用导入夹具manage.py
  3. 通常的migrate.py syncdbmigrate.py migrate

install.sh还包含一些逻辑来实现半生不熟的south依赖管理,我用原生的代替)

我的想法如下:

  1. 为每个非模型数据库表生成模型(manage.py inspectdb首先,在应用程序中拆分)。
  2. 将所有非south模型转换为south
  3. 将初始 SQL 数据转换为south夹具
  4. 将数据库备份例程转换为manage.py dumpdata(并恢复到manage.py loaddata固定装置)。
  5. 不再使用原始 SQL

现在简单的问题是:这个计划是否明智?有哪些替代方案?

0 投票
2 回答
5380 浏览

django - 使用 manage.py syncdb 时,Django 在 vi​​rtualenv 中找不到应用程序

我的问题是让 manage.py syncdb 在 vi​​rtualenv 中运行。

它一度运行良好,但似乎在我安装 South 并更新 pip 和分发时出现故障。

无论如何,当 virtualenv 被激活时,我可以在交互式解释器中很好地导入应用程序。通过 mod_wsgi 运行,应用程序也被导入,并且站点可以运行。

当我运行 manage.py syncdb 时,它无法在我的 virtualenv 中的 INSTALLED_APPS 中找到任何应​​用程序。它可以很好地选择系统安装的应用程序,但在尝试仅导入 virtualenv 应用程序时失败。

0 投票
2 回答
282 浏览

django - 南 django 迁移

我安装了南,我现在尝试使用它进行迁移:

./manage.py schemamigration myapp --initial

我得到一个:

-bash:./manage.py:权限被拒绝

如果我 sudo 我得到:

sudo: ./manage.py: 找不到命令

回复。

怎么了?

谢谢!

0 投票
1 回答
2885 浏览

django - 南 django 迁移

我已经做了:

成功地。

但如果我输入:python manage.py migrate TestDBapp1

我明白了:sqlite3.OperationalError: table "TestDBapp1_xyz" already exists

可能是什么问题呢?

0 投票
1 回答
420 浏览

python - Django South 从 SQLite3 模式中删除外键 REFERENCES。为什么?这是个问题吗?

使用syncdb以下架构时创建:

使用时migrate,改为:

为什么南方会这样做?我还没有注意到功能问题,但我厌倦了忽略这一点......

有人可以阐明这里发生的事情吗?

0 投票
1 回答
1946 浏览

django - South 是包时不识别型号

我将South用于我的 Django 站点的架构和数据迁移。我很高兴使用它。有一天,我将models.py文件转换models/__init__pymodels/something.py. 当我跑步时,尽管有新的课程python manage.py schemamigration app --auto,我还是收到了消息。如果我将它们复制到文件中,South 已经识别出新模型。我试图从顶部导入所有内容,但没有任何变化。Nothing seems to have changed.something.py__init__pysomething__init__py

0 投票
4 回答
2971 浏览

django - 使用 PostgreSQL 配置 django south

我无法让我的网站在南方运行。我已经成功安装了南,我可以成功地“导入南”。

但是,一旦我将 'south' 添加到 INSTALLED_APPS,并运行 ./manage.py syncdb (以完成安装),我会收到以下错误:

您的数据库没有 South 数据库模块 'south.db.django.db.backends.postgresql_psycopg2'。请选择支持的数据库,检查 SOUTH_DATABASE_ADAPTER[S] 设置,或从 INSTALLED_APPS 中删除 South。

我正在使用 PostgreSQL 数据库和 postgresql_psycopg2 库。我很困惑,因为 Postgres 绝对是受支持的数据库。我是否需要在 settings.py 中手动配置 SOUTH_DATABASE_ADAPTER?

编辑:这是我的数据库设置。我知道它们可以工作——我试图让它运行的(测试)服务器已经与数据库正常通信了数周。

0 投票
2 回答
503 浏览

django - django.contrib.comments 将其添加到 installed_apps 后“未同步”

我想用 django.contrib.comments.models.Comment 的代理替换自制的评论对象。

我修改了我的 comments/models.py,将 django.contrib.comments 添加到我的 installed_apps 并将 COMMENTS_APPS 设置为我的评论应用程序的名称。

运行 python manage.py syncdb(我使用 South)时,我在“未同步”应用程序中得到“django.contrib.comments”,因此未创建相应的表。

如何创建与 django.contrib.comments 相关的表?

谢谢

朱利安

0 投票
2 回答
2377 浏览

sql-server - 在 Sql Server 中删除 CASCADE

我正在使用 Sql Server 和 pyodbc 的 Django 项目中运行南迁移。这是向后迁移,所以南方试图删除我的一些表。

South 执行以下方法以删除表:

问题是 Sql Server 不支持级联丢弃,所以迁移失败并出现以下错误:

我想为 South 写一个补丁,以便它与 Sql Server 一起工作。模拟 DROP CASCADE 的最佳方法是什么?我认为使用 python 或纯 SQL 的两种解决方案都是有效的。

0 投票
1 回答
276 浏览

python - South 的 syncdb/migrate 创建输出页面?

我正在处理一个小型的个人 Django 项目,并且我已将 South(截至 2010 年 10 月 9 日的最新 mercurial)添加到我的项目中。

但是,每当我运行“./manage.py syncdb”或“./manage.py migrate”时,我都会得到大约 13 页(每页 40 行)的输出,仅与未找到“initial_data”文件有关。我没有任何 initial_data 也不是我真正想要的,但我获得了超过 200 次尝试为我的项目中的所有不同应用程序读取它们,包括 django 自己的应用程序。

有什么办法可以让南方安静下来?除了将它添加到我的 INSTALLED_APPS 元组并进行初始迁移之外,我没有给 South 任何输入,但是自从我安装它以来,我得到了这个烦人的输出。