mon*_*kee 5 django django-admin
在Django Admin中,保存对象总是返回到它的对象列表.现在我想在保存付款对象时转到发票对象列表.
我尝试了几件事:
在admin.py中:
@receiver(post_save, sender=Payment)
def custom_redirect(sender, instance, **kwargs):
return HttpResponseRedirect('/admin/sales/invoice')
Run Code Online (Sandbox Code Playgroud)
要么
class PaymentAdmin(VersionAdmin, admin.ModelAdmin):
def change_view(self, request, object_id, extra_context=None):
return HttpResponseRedirect('/admin/sales/invoice')
Run Code Online (Sandbox Code Playgroud)
我尝试使用redirect()而不是HttpResponseRedirect,而且没有效果.在将错误的代码插入post_save时,我收到一条错误消息 - 因此它会被触发,但重定向不会发生.
任何提示都会非常苛刻 - 因为我在这个"简单"的问题上被困了几天.
谢谢
Ala*_*air 13
您可以覆盖response_add和response_change方法.
from django.shortcuts import redirect
class PaymentAdmin(VersionAdmin, admin.ModelAdmin):
def response_add(self, request, obj, post_url_continue=None):
return redirect('/admin/sales/invoice')
def response_change(self, request, obj):
return redirect('/admin/sales/invoice')
Run Code Online (Sandbox Code Playgroud)
无法从信号处理程序内部返回响应.您不希望覆盖,change_view因为它处理保存表单以及返回响应.
| 归档时间: |
|
| 查看次数: |
5390 次 |
| 最近记录: |