0
我有一些ModelAdmin类,它们的ModelForm
都基于同一个ModelForm类。使用ModelAdmin的mixin处理重定向
class RepairAdmin(RedirectMixin, admin.ModelAdmin):
pass
class PurchaseAdmin(RedirectMixin, admin.ModelAdmin):
pass
我需要定义一些redirect_
方法的具体行为,所以我写了RedirectMixin
:
class RedirectMixin(object):
def response_add(self, request, obj, post_url_continue=None):
if request.POST.get('_continue'):
return super(self.__class__, self).response_add(request, obj)
return HttpResponseRedirect(reverse('admin:requests_request_changelist'))
的问题是,我不能super()
使用self.__class__
- 我得到“最大递归超出“异常。但我无法指定类本身,我不知道它是PurchaseAdmin还是RepairAdmin。