在Django South迁移中删除模型的'table'并重新创建
我有一个用自定义 SQL 创建的 Django 模型。其实它只是一个 SQL 视图,并不是真正的表。我们使用 Django South 来管理数据库的迁移。我已经修改了视图的 SQL 定义,现在想为这个变化写一个迁移。
因为这只是一个 SQL 视图,如果我删除这个视图,然后再“重新创建”它(通过运行自定义 SQL),那么这个视图就会更新为新的定义,而且我们显然不会丢失任何数据。那么我该如何在 Django South 中做到这一点呢?
在 Django South 中删除表或视图很简单,我可以直接执行一些原始 SQL db.execute*("DROP VIEW view_name;")
,但有没有更好的方法呢?
有没有办法从一个对象重新创建表?类似于 orm.MyTable.recreate_this_table()
,这样它就能使用自定义 SQL 文件?