gpt4 book ai didi

python - 在 PostgreSQL 数据库上使用 syncdb --migrate 失败。循环依赖

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:28 25 4
gpt4 key购买 nike

我正在尝试使用以下命令创建我的 Django 数据库的空副本

manage.py syncdb --migrate --database=<db_copy_name>

如果数据库是 sqlite3 数据库,它工作正常,但对于 postgres 数据库则失败。

使用 postgres,正常的 Django syncdb 表创建工作正常,但迁移部分失败。其中一个应用程序引用了另一个应用程序中的表,另一个应用程序引用了第一个应用程序中的表,因此无论我迁移应用程序的顺序如何,我都会得到一个

django.db.utils.DatabaseError: relation "<table_name>" does not exist

我正在运行 Django 1.4、South 0.7.6、psycopg2 2.4.1,以及 postgres 9.1 db。South 0.8、0.8.1 和 psychopg2 2.5 的问题相同。

最佳答案

请尝试进行惰性导入。将导入语句从文件顶部移动到需要它的模型类中

所以而不是

from other_app import foo

class Table(models.Model):

foo = models.ForeignKey(foo)

这样做

class Table(models.Model):
from other_app import foo

foo = models.ForeignKey(foo)

关于python - 在 PostgreSQL 数据库上使用 syncdb --migrate 失败。循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com