【发布时间】:2014-04-10 11:51:25
【问题描述】:
我正在执行向我的自定义用户模型添加推荐代码的迁移。我添加的字段如下所示:
refer_code = models.CharField(max_length=10, default=UUID_10)
在我的数据迁移中,我添加了以下内容:
for u in orm['app.User'].objects.all():
u.refer_code = UUID_10()
print u.name + ': ' + u.refer_code
u.save()
但是,当我执行迁移时,我的所有用户都有相同的代码。 print 命令会为每个用户提供不同的代码,所以这不是我的功能的问题。
奇怪的是,如果我回滚数据迁移(它没有 backwards 方法)以及之前添加字段的迁移,然后重新应用它们,不仅每个模型都有相同的数据,而且完全与以前的数据相同。
数据迁移的其他部分(使用 get_or_create 将对象添加到数据库)运行良好。
到底发生了什么?
【问题讨论】:
标签: django django-south