使用django向南添加字段到模型

时间:2013-11-21 19:51:45

标签: django django-south

我正在使用Django和South。我的模特是:

class Msg(models.Model):
        visible         = models.BooleanField(default=True)
        name            = models.CharField(max_length=45)

以及DB中字段的顺序为:

  • ID
  • 可见
  • 名称

当我添加一个新字段时,即:

class Msg(models.Model):
        visible         = models.BooleanField(default=True)
        default         = models.BooleanField(default=True)
        name            = models.CharField(max_length=45)

并使用:

python manage.py schemamigration myapp --auto

python manage.py migrate

DB中字段的顺序为:

  • ID
  • 可见
  • 名称
  • 默认

我怎样才能得到类似模特的东西?  - ID   - 可见   - 默认   - 姓名

感谢。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

您必须使用所需的列顺序创建一个新表,最有可能。特别是MySQL和PostgreSQL不对列名重新排序,并且在创建表后不能更改。

因此,按照您想要的顺序创建一个临时表,转储所有数据,删除旧表,并将临时表重命名为您想要的名称。

然而,除非是为了你自己的强迫症,否则没有真正的理由这样做。