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.
是的!每当您使用
usertypes_tbl
方法运行迁移时,您可以自动将默认数据插入
ready
apps.py
。
solution1:数据迁移(推荐)
bash
python manage.py makemigrations --empty your_app_name
修改迁移文件
在
your_app/migrations/
中打开新创建的迁移文件,然后像这样修改它: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
python manage.py migrate
这可以确保每当您运行迁移时,默认用户类型尚不存在,将插入。