Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Django中设置外部应用程序模型的详细名称?_Python_Django_Python Social Auth - Fatal编程技术网

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实例注册了模型。对不起。如何更改应用程序的详细名称。