Django Evolution:如何在特定位置添加新字段?

2024-06-09 11:07:22 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿, 有没有一种方法可以告诉Django Evolution在特定位置向数据库表添加一个新字段,类似于(My)SQL的AFTER语句? 我有一个包含一些列的表,我想在column1之后添加新的_列。直接使用SQL,我会这样做:

ALTER TABLE  `db_table` ADD  `new_column` DATETIME NULL DEFAULT NULL AFTER  `column1`

对于Django Evolution,这意味着:

^{pr2}$

但是,这将在表的end中添加新的_列,是否可以为上面的语句中的点传递一些内容,以便更好地控制顺序?在

谢谢。在


Tags: django方法数据库dbsqlmytable语句
1条回答
网友
1楼 · 发布于 2024-06-09 11:07:22

Django不依赖也不关心列在数据库中的位置。我的猜测是Django进化也是如此。在

所以你也不应该过于依赖或关心数据库的内部结构,这就是为什么你要使用ORM,对吗?在

如果您真的必须这样做,我建议将django_evolution.mutations.AddField子类化并重写add_column方法,以便在该方法返回的SQL语句列表中集成AFTER语句。可能有更好的地方,这就是黑客攻击。在

相关问题 更多 >