2012-05-28 18 views
0

情況:Django的:創建新老應用模式之間的連接

我有成千上萬的用戶數據庫。

我創建了一個名爲'my_app'的新應用程序。

my_app有一個對象叫'my_Object'。

my_object與Django用戶有一個關係one_to_one

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

我的問題是:

我怎樣才能在數據庫上創建一個寄存器爲所有用戶了嗎?我知道我可以使用post_save來創建新的對象,但是我怎樣才能將這個新對象關聯/連接起來呢?

謝謝!

回答

1

在您最喜歡的數據庫管理器中運行SQL查詢,該查詢爲所有現有的User記錄創建記錄。

+0

是的,這就是我的想法。但我想知道添加應用程序時是否有任何信號或進程執行。 –

+0

你不需要信號。它只需要運行一次,永遠。 –

0

而不是從MySql做你也可以從django shell做到這一點。訪問舊用戶庫中的所有記錄作爲查詢列表,然後爲它們創建一個my_object。如上所述,不需要設置信號,因爲任務只需要完成一次。如果可能的話,這樣的基於應用的信號也會更麻煩。

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

順便說一下,您是如何將舊用戶添加到django user

相關問題