【问题标题】:Change app label of groups in Django 1.5在 Django 1.5 中更改组的应用程序标签
【发布时间】:2013-05-31 06:52:48
【问题描述】:

我已经扩展了用户模型,但是现在新的用户模型在一个名为“帐户”的应用程序中,它为该应用程序内的所有模型提供了应用程序标签“帐户”。 Django 模型“Groups”仍然具有应用程序标签“Auth”,所以现在所有与 auth 有关的模型都在管理站点中的单独应用程序中。是否可以更改“群组”的应用标签?

【问题讨论】:

    标签: django django-models django-templates django-admin django-admin-tools


    【解决方案1】:

    试试这个:

    from django.db.models.loading import get_models
    get_models(django.contrib.auth.models)[1]._meta.app_label = 'group' #or whatever
    

    【讨论】:

    • 很好,但是忽略 django 的内部模型定义是否明智?
    • 好吧.. 它不是“弄乱”它,而只是编辑一个字段。就像更新设置一样。
    【解决方案2】:

    如果您需要更多的管理员灵活性,您可以尝试django-admin-tools。它可以轻松地在不同布局(选项卡、可折叠框等)中对模型进行重新排序和分组,还可以添加类似仪表板的功能。

    【讨论】:

      【解决方案3】:

      以防万一有人在 Django 3.0+ 中需要它:

      from django.apps import apps
      apps.get_model('auth', 'Group')._meta.app_label = 'group' #or whatever, but have to be a registered app
      

      请注意,这会影响 django 内部模型处理,例如在 contrib.auth 站点包等中生成迁移

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-14
        • 2021-05-20
        • 2019-06-05
        相关资源
        最近更新 更多