Python 关系“;组织“用户”组织“用户”;不存在
我正在尝试在Django 1.8中进行迁移 迁移过程如下所示:Python 关系“;组织“用户”组织“用户”;不存在,python,django,postgresql,Python,Django,Postgresql,我正在尝试在Django 1.8中进行迁移 迁移过程如下所示: # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models, migrations def update_email_username(apps, schema_editor): user_id = 'the-uuid-will-go-here' OrgUser = apps.get_mo
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
def update_email_username(apps, schema_editor):
user_id = 'the-uuid-will-go-here'
OrgUser = apps.get_model("org_user", "OrgUser")
for person in OrgUser.objects.filter(user_id=user_id):
person.username = "person@email.com"
person.save()
class Migration(migrations.Migration):
dependencies = [
('org_user', '0001_initial'),
]
operations = [
migrations.RunPython(update_email_username),
]
我得到:
django.db.migrations.graph.CircularDependencyError: org_user.0001_initial
我也试过了
dependencies = [
('org_user', '__first__'),
]
我得到:
django.db.utils.ProgrammingError: relation "org_user_orguser" does not exist
但绝对有一个org_用户模型,它在my settings.py中
我的迁移到底是怎么回事?如何成功运行此迁移中列出的更改
如果有帮助的话,这是在研究生阶段
编辑:
当我临时删除迁移并重新创建数据库时,一切都正常(包括org\u user),如果我尝试将迁移添加回模型的/migration目录并运行它,我会得到错误:
LookupError:没有标签为“org\u user”的已安装应用程序。
我真的不知道,如果我理解正确的话。。。
通常,从一个新的项目开始,它的工作原理如下:
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
def update_email_username(apps, schema_editor):
user_id = 'the-uuid-will-go-here'
OrgUser = apps.get_model("org_user", "OrgUser")
for person in OrgUser.objects.filter(user_id=user_id):
person.username = "person@email.com"
person.save()
class Migration(migrations.Migration):
dependencies = [
('org_user', '0001_initial'),
]
operations = [
migrations.RunPython(update_email_username),
]
manage.py makemigrations
manage.py makemigrations
,并在migrations文件夹中自动创建新的迁移李>
如果您有多个包,自动生成的迁移通常都会将每个包的最后一次迁移作为依赖项。如果您不想执行任何数据迁移或其他操作,那么就不需要关心依赖关系
你可以找到更多信息
初始迁移应始终使用自动生成
makemigrations
命令
编辑:您确定不想要:
('orguser', '0001_initial')
?组织用户.0001\u初始迁移的内容是什么?失败的迁移的名称是什么?如果您也显示
OrgUser
模型,可能会有所帮助。“关系不存在”错误并不意味着尚未定义模型,它意味着尚未在数据库中创建表。上的注释可能有助于您解开循环依赖项错误。请显示所有模型或g_user.0001_初始迁移是上面的迁移-它位于/org_user/migration/0001_initial.py。你只想要模型吗,@pynchia?有十个。我猜初始误差是因为它是0001_初始值。这就是为什么我把它改为first-这似乎是指示第一次迁移的正确值?模型名是org\u user,所以我不这么认为。等等。。。型号名称还是模块/包名称?你能发布你的项目结构吗?您需要将模块名称指定为依赖项中的第一个参数(包含您所引用的初始迁移的应用程序/文件夹的名称)