Django:在“之后执行的方法”;“干净”;管理中
相当简单:在“clean”方法之后,哪个方法可以被覆盖?我正在使用“clean”验证上传的图像,一旦我确认它正常并保存,我想使用一些外部API切换它:Django:在“之后执行的方法”;“干净”;管理中,django,django-forms,django-admin,Django,Django Forms,Django Admin,相当简单:在“clean”方法之后,哪个方法可以被覆盖?我正在使用“clean”验证上传的图像,一旦我确认它正常并保存,我想使用一些外部API切换它: class FooAdminForm(forms.ModelForm): class Meta: model = Asset fields = ["name", "file",] def clean(self): cleaned_da
class FooAdminForm(forms.ModelForm):
class Meta:
model = Asset
fields = ["name", "file",]
def clean(self):
cleaned_data = super(FooAdminForm, self).clean()
...
return cleaned_data
def bar(self):
# do stuff with new data in database
class FooAdmin(admin.ModelAdmin):
list_display = ["name", "file",]
form = FooAdminForm
有什么方法可以满足我的需要吗?或者我必须处理一个信号吗(比如)?ModelAdmin类有一个方法,该方法被调用以保存模型实例,因此您可以在需要时覆盖该方法:
class FooAdmin(admin.ModelAdmin):
list_display = ["name", "file",]
form = FooAdminForm
def save_model(self, request, obj, form, change):
super().save_model(request, obj, form, change)
# Do something with `obj`