Aam*_*nan 2 python django django-south
假设我有这个与南方相关的模型:
class MyModel(models.Model):
field_a = models.CharField(max_length=30)
field_b = models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)
现在稍后,我想再添加一个字段,以便在之间创建该字段field_a
,field_b
现在我的模型看起来像:
class MyModel(models.Model):
field_a = models.CharField(max_length=30)
field_c = models.CharField(max_length=30)
field_b = models.CharField(max_length=30)
Run Code Online (Sandbox Code Playgroud)
然后我迁移了这些更改,当检查MySQL中的表结构时,它field_c
是在所有字段的末尾创建的.如何告诉南方维持字段顺序,例如插入后field_a
.
在MySQL中,我们可以在任何现有字段之前或之后插入新字段.在南方可以这样做吗?
我不相信在使用Django(或南方)时不可能强制MySQL中的字段创建顺序.新字段将始终附加到表定义的末尾.
但是:列的顺序应该与您无关.继续阅读......
如果您正在针对数据库编写SQL查询,那么这是一种糟糕的形式,select *
并依赖于表的字段顺序.您应该指定要选择的字段以及报告它们的顺序.这使得基础表的字段排序不重要.
此外,如果组织中的任何人当前正在编写使用select *
以下内容的报告:通过在其他人之间插入新列,您可以轻松地破坏使用字段位置(而不是字段名称)的报表,因为列的索引将更改.
归档时间: |
|
查看次数: |
805 次 |
最近记录: |