将模型移动到新的django应用程序

时间:2013-11-05 19:54:53

标签: django django-models django-south

在我的django项目中,我有一个处理两个模型(两个mysql表)的应用程序,我注意到我最好用之前的模型创建一个新的应用程序。所以问题是:我怎么能用南方呢?鉴于我知道没有南方的另一种方式,它包括创建一个新的应用程序syncdb,然后使用shell / python脚本将数据从旧表移动到新表,最后删除旧表。但我想成为一个绅士和时尚:D

提前致谢

1 个答案:

答案 0 :(得分:3)

基本上你会按照南方迁徙的方式行事。

  1. 创建初始迁移以定义架构
    schemamigration <new_app_name> --initial
  2. 创建data migration以将数据从一个应用程序复制到另一个应用程序 datamigration <new_app_name> <migration_name> 您需要修改在.forward() .backward()方法中创建的文件,以定义您希望如何移动数据

  3. 在初始应用程序上创建架构迁移以删除表 schemamigration <original_app_name> -auto

  4. 由于您需要原始应用中存在的数据,请先调用新应用,然后再调用迁移时使用原始应用。