0
我正在使用Django作爲應用程序,並且想知道管理員中的選項。 如果只有一個存在於列表視圖中,django admin可以重定向到對象的詳細信息頁面嗎?Django管理員:重定向到對象更改頁面,如果列表中只有一個存在
立即重定向到該對象上的變化視圖,而無需用戶點擊的對象。
我沒有使用任何自定義視圖。搜索2小時後我找不到任何解決方案。
謝謝!
我正在使用Django作爲應用程序,並且想知道管理員中的選項。 如果只有一個存在於列表視圖中,django admin可以重定向到對象的詳細信息頁面嗎?Django管理員:重定向到對象更改頁面,如果列表中只有一個存在
立即重定向到該對象上的變化視圖,而無需用戶點擊的對象。
我沒有使用任何自定義視圖。搜索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
參數。
謝謝!通過一些定製,它解決了我的問題! – Yarimi
您可以覆蓋['ModelAdmin.changelist_view'](https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#django.contrib.admin.ModelAdmin.changelist_view)。在那裏,檢查給定模型是否只存在一個對象。如果是,則重定向到它的更改頁面。 – xyres