Python 关系“;组织“用户”组织“用户”;不存在

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

我正在尝试在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_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),
    ]
  • 您可以在models.py中定义模型
  • 您可以调用
    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,所以我不这么认为。等等。。。型号名称还是模块/包名称?你能发布你的项目结构吗?您需要将模块名称指定为依赖项中的第一个参数(包含您所引用的初始迁移的应用程序/文件夹的名称)