Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django权限组_Python_Django_Permissions - Fatal编程技术网

Python django权限组

Python django权限组,python,django,permissions,Python,Django,Permissions,通过扩展框架提供的User模型,我正在创建一个我自己定制的User模型。我还创建了几个模型类,包括如下所示的权限: class Meta: permissions = (("update_values", "update values"),) [ { "model": "django.contrib.auth.models.Group", "pk": 1, "fields": { "name": "

通过扩展框架提供的
User
模型,我正在创建一个我自己定制的
User
模型。我还创建了几个模型类,包括如下所示的权限:

class Meta:
    permissions = (("update_values", "update values"),)
[
        {
        "model": "django.contrib.auth.models.Group",
        "pk": 1,
        "fields": {
            "name": "uni_admin"
        }
    },
        {
        "model": "django.contrib.auth.models.Group",
        "pk": 2,
        "fields": {
            "name": "uni_poweruser"
        }
    },
        {
        "model": "django.contrib.auth.models.Group",
        "pk": 3,
        "fields": {
            "name": "uni_viewer"
        }
    }
]
当我执行syncdb时,我能够看到所有权限都按应有的方式填充。我的问题是,在syncdb运行时,有没有办法将这些权限与组关联起来?现在我看到的所有示例都是通过代码实现的,但是有些组我希望自动生成。谢谢你的帮助

[编辑]

我试图通过创建一个名为
initial_data.json
的文件来加载初始数据,如下所示:

class Meta:
    permissions = (("update_values", "update values"),)
[
        {
        "model": "django.contrib.auth.models.Group",
        "pk": 1,
        "fields": {
            "name": "uni_admin"
        }
    },
        {
        "model": "django.contrib.auth.models.Group",
        "pk": 2,
        "fields": {
            "name": "uni_poweruser"
        }
    },
        {
        "model": "django.contrib.auth.models.Group",
        "pk": 3,
        "fields": {
            "name": "uni_viewer"
        }
    }
]

当我运行
python manage.py loaddata app/fixtures/initial_data.json
时,我不断得到
反序列化错误:无效的模型标识符:“django.contrib.auth.models.Group”
…但这不是正确的模型吗?

您可以使用fixtures或自定义SQL(cf)来实现,但如果您使用South来管理模式更新,则需要一个“数据迁移”是一个更干净的解决方案(如果你还没有使用South,你应该——它确实让生活更轻松)。

pyaml版本同样如此

- model: auth.Group
  pk: 1
  fields:
    name: Admin Group

auth.Group是正确的名称,也是错误的主要原因。

Nice,从未听说过south(我是Django的新手),但它看起来像一个很棒的工具。@kalvish:是的,South真的很棒。它就像一个版本控制系统,一开始学习这个工具需要一些额外的时间,它会带来一些额外的限制,但一旦你尝试了它,你就无法想象回到过去……只要看看你的编辑-请提出另一个问题,因为这是一个独特的pr问题。好的,我将创建一个新问题。实际上,我发现了错误,模型是
auth.Group