Python Django管理员:若列表中只有一个对象,则重定向到对象更改页面
我正在将Django用于一个应用程序,并想知道管理中的一个选项。 如果列表视图中只有一个对象,django admin是否可以重定向到该对象的详细信息页面 比如说,, 如果仅此对象存在: 立即重定向到此对象上的更改视图,而无需用户单击该对象 我没有使用任何自定义视图。经过两个小时的搜索,我找不到任何解决方案 谢谢 你可以试试这个Python Django管理员:若列表中只有一个对象,则重定向到对象更改页面,python,django,django-admin,Python,Django,Django Admin,我正在将Django用于一个应用程序,并想知道管理中的一个选项。 如果列表视图中只有一个对象,django admin是否可以重定向到该对象的详细信息页面 比如说,, 如果仅此对象存在: 立即重定向到此对象上的更改视图,而无需用户单击该对象 我没有使用任何自定义视图。经过两个小时的搜索,我找不到任何解决方案 谢谢 你可以试试这个 def changelist_view(self, request, extra_context=None): if self.model.objects.a
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\u视图参数。您可以尝试此操作
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\u视图
参数。您可以覆盖。在这里,检查给定模型是否只存在一个对象。如果是,则重定向到其更改页面。您可以覆盖。在这里,检查给定模型是否只存在一个对象。如果是,则重定向到其更改页面。谢谢!通过一点定制,它解决了我的问题!谢谢通过一点定制,它解决了我的问题!