删除模型的“表格”并在django南迁移中重新创建

时间:2011-08-26 14:29:43

标签: python django orm database-migration django-south

我有一个使用一些自定义sql创建的django模型。它实际上只是一个SQL视图,它不是一个真正的表。我们正在使用django south来管理迁移。我已经更改了视图定义SQL,我想为此更改编写一个迁移。

由于它只是一个sql视图,如果我删除视图,然后'重新创建'它(通过运行自定义sql),那么视图将更新为新的定义,我们显然不会丢失任何数据。我怎么能在django南方做到这一点?

在django南方很容易删除表/视图,我可以调用一些原始SQL db.execute*("DROP VIEW view_name;"),有更好的方法吗?

有没有办法从对象重新创建表?像orm.MyTable.recreate_this_table()这样的东西,它会使用自定义的sql文件吗?

1 个答案:

答案 0 :(得分:2)

How to handle database views in Django/South似乎包含有关此问题的一些有用信息。至于问题的结束,我不确定我明白你想做什么......