Skip to main content
 首页 » 编程设计

python之Django 管理员 : redirect to object change page if only one exists in list

2025年05月04日36del

我正在将 Django 用于应用程序,想知道管理中的选项。 如果 ListView 中只有一个对象,django admin 是否可以重定向到对象的详细信息页面?

例如, 如果只有这个对象存在:

立即重定向到此对象的更改 View ,无需用户单击该对象。

我没有使用任何自定义 View 。经过 2 小时的搜索,我找不到任何解决方案。

谢谢!

请您参考如下方法:

你可以试试这个

def changelist_view(self, request, extra_context=None): 
    if self.model.objects.all().count() == 1: 
        obj = self.model.objects.all()[0] 
        return HttpResponseRedirect(reverse("admin:%s_%s_change" %(self.model._meta.app_label, self.model._meta.model_name), args=(obj.id,))) 
    return super(ItemAdmin, self).changelist_view(request=request, extra_context=extra_context) 

同时根据 django 版本检查 changelist_view 参数。