Ho cercato una risposta a questo sul sito di South, Google e SO, ma non sono riuscito a trovare un modo semplice per farlo.
Voglio rinominare un modello Django usando South. Di 'che hai il seguente:
class Foo(models.Model):
name = models.CharField()
class FooTwo(models.Model):
name = models.CharField()
foo = models.ForeignKey(Foo)
e vuoi convertire Foo in Bar, vale a dire
class Bar(models.Model):
name = models.CharField()
class FooTwo(models.Model):
name = models.CharField()
foo = models.ForeignKey(Bar)
Per semplificare, sto solo cercando di cambiare il nome da Foo
in Bar
, ma ignora il foo
membro FooTwo
per ora.
Qual è il modo più semplice per farlo usando South?
- Probabilmente potrei fare una migrazione dei dati, ma sembra piuttosto coinvolto.
- Scrivi una migrazione personalizzata, ad esempio
db.rename_table('city_citystate', 'geo_citystate')
, ma non sono sicuro di come risolvere la chiave esterna in questo caso. - Un modo più semplice che conosci?