2

我正在User通过扩展User框架提供的模型来创建自己的自定义模型。我还创建了几个模型类并包含以下权限:

class Meta:
    permissions = (("update_values", "update values"),)

当我执行 syncdb 时,我可以看到所有权限都按应有的方式填充。我的问题是,有没有办法在同步数据库发生时将这些权限与组相关联?现在我看到的所有示例都是仅当我们通过代码执行时,但我希望自动生成一些组。谢谢您的帮助!

[编辑]

我正在尝试通过创建一个initial_data.json如下所示的文件来加载初始数据:

[
        {
        "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,我不断得到DeserializationError: Invalid model identifier: 'django.contrib.auth.models.Group'......但这不是正确的模型吗?

4

2 回答 2

2

相同的pyaml版本

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

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

于 2016-11-29T14:25:33.417 回答
1

您可以使用固定装置或自定义 SQL(参见https://docs.djangoproject.com/en/dev/howto/initial-data/)来完成,但如果您使用 South 来管理您的架构更新“数据迁移”恕我直言,这是一个更清洁的解决方案(如果你还没有使用 South,你应该 - 它确实让生活更轻松)。

于 2012-07-04T18:05:00.400 回答