概述
涉及更改表中数据的迁移是data migration,您通常需要编写Python代码来进行迁移.
从Django文档,有这个例子:
# -*- coding: utf-8 -*- from django.db import models,migrations def combine_names(apps,schema_editor): # We can't import the Person model directly as it may be a newer # version than this migration expects. We use the historical version. Person = apps.get_model("yourappname","Person") for person in Person.objects.all(): person.name = "%s %s" % (person.first_name,person.last_name) person.save() class Migration(migrations.Migration): dependencies = [ ('yourappname','0001_initial'),] operations = [ migrations.RunPython(combine_names),]
请注意,迁移期间运行的代码位于combine_names函数中,它由迁移操作列表中的migrations.RunPython(combine_names)条目调用.您的迁移应该在这样的功能中进行组创建,以及需要的任何其他数据迁移.
你应该用一条线
Group = apps.get_model("auth","Group") my_group,created = Group.objects.get_or_create(name='group1')
以创建您的组,以防表中已经有一组该名称.
在迁移到Python文件的根级别时,不要将代码运行;如果这样做,每次导入迁移时都会运行,例如,每次运行./manage.py runserver时.
附:您需要将您的migrations.RunPython条目放在操作列表的正确位置;例如,如果您在删除其所需的表的操作后放置它将不起作用.
总结
以上是编程之家为你收集整理的以编程方式创建django组全部内容,希望文章能够帮你解决以编程方式创建django组所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧