Python 如何在Django中设置外部应用程序模型的详细名称?
我正在尝试从中为模型Python 如何在Django中设置外部应用程序模型的详细名称?,python,django,python-social-auth,Python,Django,Python Social Auth,我正在尝试从中为模型SocialAuthUser设置verbose\u name 我尝试使用代理模型,将其Meta.verbose\u name设置为所需的值,但没有成功(可能是我做错了)。如果是这样的话,我可以提供更多细节 避免在可编辑模式下从pip安装模块只是为了替换管理站点中的verbose\u name 也许我可以用其他方式替换管理站点中的模型名? 我曾考虑过在管理网站上添加自定义链接,但还没有研究这种方法,因为它让人感觉很不舒服。你几乎做到了。要使您对代理模型所做的更改生效,您需要先从
SocialAuthUser
设置verbose\u name
我尝试使用代理模型,将其Meta.verbose\u name
设置为所需的值,但没有成功(可能是我做错了)。如果是这样的话,我可以提供更多细节
避免在可编辑模式下从pip安装模块只是为了替换管理站点中的verbose\u name
也许我可以用其他方式替换管理站点中的模型名?
我曾考虑过在管理网站上添加自定义链接,但还没有研究这种方法,因为它让人感觉很不舒服。你几乎做到了。要使您对代理模型所做的更改生效,您需要先从管理站点注销该模型,然后再注册代理模型 下面的示例适用于
社会关系.Association
模型
# admin.py
from django.contrib import admin
from social_django.admin import AssociationOption
from social_django.models import Association
class AssociationProxy(Association):
class Meta:
proxy = True
verbose_name = 'custom model'
app_label = 'social_django'
admin.site.unregister(Association)
admin.site.register(AssociationProxy, AssociationOption)
这假设您使用的是默认的管理站点
# urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
你想达到什么目标?更改我假设的外部模型的特定字段的列表/表单标签,对吗?我需要在该模型的主管理站点页面上显示更多人类可读的(另一种语言)名称。因此,不是字段名,而是模型名。我并不真正关心这个模型的python类名,只要显示的名称是我所需要的。我想您应该更改一个字段的
详细名称
,因为您必须重写模型表单并创建一个带有自定义简短描述的方法字段。谢谢。虽然我使用的是自定义管理站点,但您的解决方案确实适合我。唯一的区别是我(未)使用我的自定义AdminSite实例注册了模型。对不起。如何更改应用程序的详细名称。