Django admin:如果列表

时间:2017-08-27 20:00:30

标签: python django django-admin

我正在使用Django作为应用程序,并想知道管理员中的选项。 如果列表视图中只存在一个,那么django admin是否可以重定向到对象的详细信息页面?

例如, 如果只存在这个对象: enter image description here

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

我没有使用任何自定义视图。经过2个小时的搜索,我无法找到任何解决方案。

谢谢!

1 个答案:

答案 0 :(得分:3)

你可以试试这个

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个参数。