首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从json加载django用户组

从json加载django用户组
EN

Stack Overflow用户
提问于 2018-02-20 15:58:55
回答 1查看 597关注 0票数 1

我正在尝试创建多个用户组。每个组都有一组单独的权限。有没有办法用json中的user-group permissions初始化django项目?我正在寻找像python manage.py loaddata user_groups.json这样的方法。

EN

回答 1

Stack Overflow用户

发布于 2018-02-20 17:14:47

您可以创建一个Data Migration。这基本上是一种策略,您可以通过运行以下命令创建一个空的迁移文件:

代码语言:javascript
复制
python manage.py makemigrations --empty yourappname

然后,在这个迁移文件中,您将编写一个添加初始组的Python脚本。

代码语言:javascript
复制
from django.db import migrations

def create_initial_groups(apps, schema_editor):
    Group = apps.get_model('auth', 'Group')
    # create initial groups...

class Migration(migrations.Migration):

    dependencies = [
        ('yourappname', '0001_initial'),
    ]

    operations = [
        migrations.RunPython(create_initial_groups),
    ]

但是,我不知道这是不是一个好主意。主要是因为我们无法直接访问auth应用程序(这将是创建此迁移文件的正确位置)。所以这意味着你必须在你的一个应用程序中创建这个迁移文件,这可能会带来麻烦,例如,如果Django试图在迁移auth模型之前运行这个迁移,那么基本上Group模型将不存在。我想说的是,也许你必须单独迁移应用程序来执行订单(也可能不是)。

此策略的好处是,当有人启动项目并迁移数据库时,初始数据将通过迁移自动应用,因此设置您的项目的人员将非常轻松。

另一种选择是使用loaddata to provide initial data for your models

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48880289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档