在我的 Django 管理 UI 中,我使用像这样的
TabularInline
:
class MyCustomInline(admin.TabularInline):
# ...
def get_queryset(self, request):
# ...
重写的函数添加了一个过滤器,以便仅显示相关对象的子集。在管理用户界面中,我使用模型类的复数形式作为标题获取表格,在本例中这是错误的。我想给它一个自定义名称。
我无法对模型本身执行此操作,因为我只想更改此过滤集的标题。一般不适用于模型类。
我试图从源代码中弄清楚它。在模板中我发现
verbose_name
是通过 opts
传入的,但无法按照其路径找到覆盖它的方法。
有人可以给我一个提示,如何仅针对这个特定的
TabularInline
更改标题(又名详细名称)吗?
您可以将其注入
extra_context
:
class MyCustomInline(admin.TabularInline):
# …
def _changeform_view(self, request, object_id, form_url, extra_context):
return super()._changeform_view(
self,
request,
obj_id,
form_url,
{**extra_context, 'title': 'sample-title'},
)
def get_queryset(self, request):
# …