django如何通过迁移文件给数据库已存在的字段添加新的数据。

  之前自己开发的时候从来没有考虑过这个问题。

  举个例子: 现在多人合作开发一个项目,数据库里面需要新的数据,而且这些数据因为一些原因必须是统一的,因为新的功能需要这些数据。

  这种情况,我们可以用迁移文件来实现,本地实现一个迁移文件,其他开发者直接执行python manage.py migrate就可以啦。

 

  首先执行:

  

python manage.py  makemigrations --empty appname

  会在你的appname对应的迁移文件目录下生成空的迁移文件。

  然后在迁移文件中通过runpython命令实现(伪代码):

复制代码
class Migration(migrations.Migration):

    def add_new_model_data(apps, schema_editor):
        model = apps.get_model('appname', 'model')
    

   # 这个函数做相反的操作,比如上面的添加了哪些数据,这里就删除哪些数据,方便日后回滚。 def del_model_data(apps, schema_editor): model = apps.get_model('appname','model')

   # 这个是自动生成的 dependencies = [ .... ] operations = [ migrations.RunPython(add_new_model_data, del_model_data), ]
复制代码

 

posted @   DRQ丶  阅读(638)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示