我有模型和遷移文件的名爲「app1」的django應用程序。 我將此應用重命名爲「app2」,並且我修復了所有導入,網址... 但我在遷移文件和表中的數據時遇到問題。 我如何寫用正確的方式遷移,以確保: - 新安裝=>創建新表 - 更新舊版本=>創建新表,將數據移動,刪除舊錶Django重命名應用程序和遷移
PS:有幾個表與許多FK。
這裏是我的進步,我不知道如果我的好辦法: - 所有舊的遷移刪除 - makemigrations產生新的遷移文件
後這2步我可以安裝我的應用程序,但舊版本仍然存在問題。
問題:什麼是遷移數據的最佳方式? PS:我不使用南方。我不會使用南方。
要添加對此,我發現當使用此方法重命名應用程序時,django不更新內容類型,而是在運行遷移時爲每個應用程序模型創建新的內容類型(和權限)。如果你使用通用的外鍵等,這會造成麻煩。我通過在所有的'AlterModelTable'之前添加'RunPython'操作來解決這個問題。我的'RunPython'函數運行'ContentType = apps.get_model('contenttypes','ContentType')''ContentType.objects.filter(app_label ='old_app')。update(app_label ='new_app')' – DBrowne