【问题标题】:Django create groups on init, extending superuser profileDjango 在初始化时创建组,扩展超级用户配置文件
【发布时间】:2011-06-16 16:00:14
【问题描述】:

我在 Django 中创建了一个站点,这是我的问题 如何制作这样的东西:

在初始化时(例如,当有人运行“syncdb”时?) 我需要创建一个具有权限的组 并将超级用户配置文件从用户扩展到 UserProfile(当用户注册时,这不是问题,但在创建应用程序时会自动创建第一个管理员/超级用户)

因为安装后需要在管理面板中手动执行这些操作。

对不起我的英语,很难向我解释这个问题。 希望你能理解。

【问题讨论】:

    标签: python django django-syncdb


    【解决方案1】:

    两步:

    1. 使用命令dumpdata从包含所有必需数据的现有数据库中进行转储
    2. 在syncdb之后,使用命令loaddata加载fixture

    【讨论】:

    • 将fixture命名为initial_data,Django应该在syncdb之后自动加载它
    【解决方案2】:

    post_syncdb 信号挂接到您的management 子包中并在那里完成工作。

    【讨论】:

    • docs 说不要做任何需要更改数据库的事情:“此信号的处理程序执行幂等更改(例如,没有数据库更改)很重要,因为这可能会导致刷新管理命令如果它也在 syncdb 命令期间运行,则失败。”因此,禁止添加 UserProfile 或创建组。
    【解决方案3】:

    我想fixtures可以帮助你解决你的问题,看看这些docs

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 2012-04-30
      • 2012-03-11
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 2012-07-22
      相关资源
      最近更新 更多