运行数据迁移时的Valueerror

时间:2014-10-25 09:10:05

标签: django django-south data-migration

我正在为我的项目运行datamigrations。我的目标是让用户关注在实施活动流之前创建的所有文章

我使用命令

创建了迁移文件
python manage.py datamigration articles das_user_migrate_data --freeze auth --settings=maldio_project.settings.dev_keval 

对于转发功能我有以下代码,

def forwards(self, orm):
        registry.register(orm['articles.article'])
        for articles in orm['articles.article'].objects.all():
            user = orm['auth.User'].objects.get(username=article.submitter.username)
            follow(user, article, actor_only=False)

我有适当的操作进口。但是在运行migrate命令时,我收到以下错误

ValueError: Cannot assign "<User: User object>": "Follow.user" must be a "User" instance.

我已经看到了同样错误的其他问题,但提到的解决方案并不适用于我。

1 个答案:

答案 0 :(得分:0)

没有看到你的&#34;关注&#34;函数我说你试图分配给关注对象实例的用户类与你在关注的FK中引用的用户类不同。

确保您没有为Django的用户创建子类。见django: must be a User Instance when trying to save, but it is!