Django:在新旧应用程序模型之间建立连接

时间:2012-05-28 10:01:02

标签: django model

情况:

我有一个拥有数千名用户的数据库。

我创建了一个名为“ my_app ”的新应用程序。

my_app 有一个名为“ my_Object ”的对象。

my_object 与Django用户有 one_to_one 的关系。

class my_object(models.Model):
    user = models.OneToOneField(User)   

我的问题是:

如何为数据库中已有的所有用户创建注册?我知道我可以使用post_save作为新的,但是如何向后关联/连接这个新对象呢?

谢谢!

2 个答案:

答案 0 :(得分:1)

在您喜欢的数据库管理器中运行SQL查询,该查询为所有现有User条记录创建记录。

答案 1 :(得分:0)

您也可以从django shell执行此操作,而不是从MySql执行操作。从旧用户群访问所有记录作为查询列表,然后为它们创建my_object。如上所述,不需要设置信号,因为任务必须只进行一次。如果可能的话,这样的基于应用的信号也会比较麻烦。

old_users = Old_users.objects.all() for user in old_users:
    object = my_object(user = user)
    object.save()

顺便说一下,您是如何将旧用户添加到django user的?