在 Django 1.5 中更改组的应用程序标签

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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 站点包等中生成迁移

【讨论】:

以上是关于在 Django 1.5 中更改组的应用程序标签的主要内容,如果未能解决你的问题,请参考以下文章

Django 1.5:扩展 base.html 时,我的 <head> 标签显示在我孩子的 <body> 中

在机器学习中,改组如何与 ImageDataGenerator 一起工作?

如何从 Django 模板/上下文中更改为字符串并删除 '?

Django 模板标签 - 返回多个值或对象

在 SPSS 中,如何通过标签变量循环遍历自变量来进行一堆回归分析?在 R 中更容易吗? [复制]

如何在 Django 1.5 中为特定应用程序重置数据库