django里面用south“无损”修改field名称

在fairybbs里面 一直存在一个错误
topic 里面 储存markdown处理后的内容的字段是rendered_content
但是在post 里面 是content_rendered

虽然其实不会影响什么
但是心里面一直有个梗

下面记录一下用south无损修改字段名的方法

  1. 按照需求修改models.py
  2. 执行一次python manage.py schemamigration appname --auto
  3. 修改forum/migrations/ 里面生成的migrate文件 比如003_xxx.py
  4. 修改成如下
  class Migration(SchemaMigration):

    def forwards(self, orm):
        db.rename_column(u'forum_topic', 'rendered_content', content_rendered')


    def backwards(self, orm):
        db.rename_column(u'forum_topic', 'content_rendered', rendered_content')

最后再执行一次 python manage.py migrate appname

你可能感兴趣的:(south,django)