我要重写的另存为按钮bahaviour - 我需要推动它redirecrt我不在对象列表之后,但在一个新的对象直接。Django。 “请求”对象是无在的ModelForm
,所以我需要重写非标准保存的方法的ModelForm,并在那里得到要求对象 - 要检查是否已按下另存为按钮:
*admin.py
class AirplanesAdmin(admin.ModelAdmin):
form = AirplaneEditForm
forms.py
class AirplaneEditForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(AirplaneEditForm, self).__init__(*args, **kwargs)
def clean(self):
print self.request
return self.cleaned_data
def save(self, force_insert=False, force_update=False, commit=True,):
plane = super(AirplaneEditForm, self).save(commit=False)
print self.request
if commit:
plane.save()
return plane
class Meta:
model = Airplanes
但在这两个打印请求无 ...难道我做错了什么?
您需要通过'request'在init中明确指出,这不是由模型管理员完成的。 – Rohan
你能写一个代码示例吗?我尝试这样做,但Django的tolds我,他不知道** **请求对象admin.py – user2919162