在Django Admin中,保存对象总是返回到它的对象列表。 现在我想在保存付款对象时转到发票对象列表。
我尝试了几件事:
在admin.py中:
$('td.ms-formbody + td.ms-formlabel').text('This is my dynamically added text!');
OR
@receiver(post_save, sender=Payment)
def custom_redirect(sender, instance, **kwargs):
return HttpResponseRedirect('/admin/sales/invoice')
而不是HttpResponseRedirect我试过使用redirect(),但也没有效果。 在将错误的代码插入post_save时,我收到一条错误消息 - 因此它会被触发,但重定向不会发生。
任何提示都会非常令人沮丧 - 因为我在这个“简单”问题上被困了几天。
由于
答案 0 :(得分:8)
您可以覆盖response_add
和response_change
方法。
'use strict';
module.exports = function (City) {
City.GetCurrentPopulation = function (req) {
var population;
City.app.models.Pupulation.find({where{id:req.id}}, //This line //gives me an error that cannot read property 'find' of undefined
function(req.res){
population=res.population;
});
response='Population for ' +req.cname ' is' +population;
req(null, response);
};
City.remoteMethod(
'GetCurrentPopulation', {
http: {
path: '/GetCurrentPopulation',
verb: 'GetCurrentPopulation'
},
returns: {
arg: 'startdate',
type: 'string'
}
}
);
无法从信号处理程序内部返回响应。您不希望覆盖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')
,因为它会处理保存表单以及返回响应。