我一直在尋找南方網站,谷歌和SO的答案,但找不到一個簡單的方法來做到這一點。使用Django/South重命名模型的最簡單方法是什麼?
我想使用South重命名一個Django模型。 假設你有以下幾點:
class Foo(models.Model):
name = models.CharField()
class FooTwo(models.Model):
name = models.CharField()
foo = models.ForeignKey(Foo)
,並要轉換美孚吧,即
class Bar(models.Model):
name = models.CharField()
class FooTwo(models.Model):
name = models.CharField()
foo = models.ForeignKey(Bar)
爲了保持它的簡單,我只是想將名稱從Foo
更改爲Bar
,但現在請忽略FooTwo
中的foo
成員。
使用South進行此操作的最簡單方法是什麼?
- 我可以做一個數據遷移,但這似乎很相關。
- 編寫自定義遷移,例如
db.rename_table('city_citystate', 'geo_citystate')
,但我不確定如何解決這種情況下的外鍵。 - 一個更簡單的方法,你知道嗎?
另請參閱http://stackoverflow.com/questions/3235995/django-how-to-rename-a-model-field-using-south用於重命名*模型字段*而不是*模型*。 – 2011-09-29 04:31:52
爲Django> = 1.8優化的解決方案http://stackoverflow.com/questions/25091130/django-migration-strategy-for-renaming-a-model-and-relationship-fields – 2016-03-17 01:56:46