Django模型中的列排序

时间:2010-11-11 20:06:23

标签: django django-models

所以,我想知道如何在Model中定义列的顺序,以便当Django进行工程设计以生成数据库时,物理数据库表中的列的顺序可以由模型本身确定?

目前我的一些模型类继承自其他模型类,因此派生模型类总是首先从父类中放置列,但我想控制它。

由于

4 个答案:

答案 0 :(得分:6)

在Django 1.8上,这对我有用:

  • 运行./manage.py makemigrations
  • 编辑迁移
  • 重新排序fields上的migrations.CreateModel列表。

我没有用继承测试这个。

答案 1 :(得分:2)

目前,在Django中没有内置的方法可以做到这一点。

我似乎记得讨论过这个的django-dev线程/票证,但我现在看不到它。如果我找到它,我会更新它(如果他们这样做,欢迎其他人。)

如果你确实需要那么糟糕的话,可能有办法将其破解为核心。

答案 2 :(得分:0)

您可以运行django-admin.py sql,它将打印为一个或所有应用程序创建表的SQL,调整SQL以满足您的需求,并在您选择的某个数据库shell中手动运行它!

答案 3 :(得分:0)

您是否需要控制数据库中字段的顺序或仅控制它们呈现给用户的方式?如果是后者,还有其他选择。例如,在管理员中,您可以使用fieldsetsfields控制字段的顺序。