自动在django迁移中迁移时在表中生成数据

问题描述 投票:0回答:1
IM在Django中使用值迁移数据时遇到困难,当使用Django中的命令迁移时,如何在表中添加自动数据?假设我每次使用django中的命令makemigrations时都有

usertype_tbl,它应该自动存储此数据 - 管理员,超级管理员,其他_user等。在usertype_tbl中。有什么办法如何实施?或除了迁移之外的任何解决方案和想法,请帮助我,感谢提前的帮助!

models.py

class usertypes_tbl(models.Model): user_type = models.CharField(max_length=264) description = models.CharField(max_length=264) status = models.CharField(max_length=264) //add some data = Admin, Super_admin , etc.
	
是的!每当您使用
python django migration database-migration
1个回答
0
投票
或django的

usertypes_tbl

方法运行迁移时,您可以自动将默认数据插入
readyapps.py
solution1:数据迁移(推荐)

DJANGO允许您创建一个data migration在应用迁移时插入记录。

步骤:

创建迁移文件手动运行:

bash
  1. copyedit

    python manage.py makemigrations --empty your_app_name

    
    

    修改迁移文件

    your_app/migrations/

    中打开新创建的迁移文件,然后像这样修改它:
  2. python

    copyedit

    from django.db import migrations  def insert_default_user_types(apps, schema_editor):     UserType = apps.get_model('your_app_name', 'usertypes_tbl')  # Adjust model name     default_types = [         {"user_type": "Admin", "description": "Administrator", "status": "Active"},         {"user_type": "Super Admin", "description": "Super Administrator", "status": "Active"},         {"user_type": "Other User", "description": "Other user type", "status": "Active"},     ]     for data in default_types:         UserType.objects.get_or_create(user_type=data["user_type"], defaults=data)  class Migration(migrations.Migration):      dependencies = [         ('your_app_name', 'previous_migration_file'),     ]      operations = [         migrations.RunPython(insert_default_user_types),     ] 

    
    apply迁移

    bash

    copyedit

  3. python manage.py migrate

    这可以确保每当您运行迁移时,默认用户类型尚不存在,将插入。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.