2011-04-07 58 views
0

我的模特是foo.bar.MyModel。現在是boo.far.MyModel。架構是相同的。我重命名了一個模型。我怎樣才能恢復我現在缺少的數據庫對象?

boo.far.MyModel.objects.all()現在顯然是空的。有沒有辦法在數據庫中運行對象並更改它們關聯的類?某種搜索和替換類名?這不是那麼多的對象,這只是一個測試數據庫,所以我正在尋找這樣做的手。不想使用南或類似的東西。我意識到我也可以重新創建舊的包/類,然後遷移,但我很感興趣,如果我可以修復這種基本的方式。

編輯:我使用非相對後端的谷歌應用程序引擎

回答

2

您只需重命名模型的數據庫中的表。表名是由應用程序標籤和型號的類名構造,因此MySQL查詢:

RENAME TABLE bar_mymodel TO far_mymodel; 

第二個選項是使用「db_table」模式選項覆蓋默認的表名:

class MyModel(models.Model): 
    .... 
    class Meta: 
     db_table = 'bar_mymodel' 
+0

如果我」什麼m使用非​​rel後端? :) – Matt 2011-04-07 05:48:23

+1

現有數據是非rel後端的問題。選項2應值得嘗試。另外,在選項1中,還需要更新django_content_type條目(如果有的話)。 – 2011-04-07 06:45:34

相關問題