gpt4 book ai didi

Django:在admin中 "clean"之后执行的方法

转载 作者:行者123 更新时间:2023-12-04 07:44:14 25 4
gpt4 key购买 nike

相当简单:在“clean”方法之后可以覆盖哪个方法?我正在使用“干净”来验证上传的图像,一旦我确认它没问题并保存,我想使用一些外部 API 切换它:

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
有什么方法 bar那可以做我需要的吗?或者我必须与信号搏斗(例如 here )?

最佳答案

ModelAdmin类有一个方法 save_model [Django docs]调用它来保存模型实例,因此您可以根据需要覆盖它:

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`

关于Django:在admin中 "clean"之后执行的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67278401/

25 4 0
文章推荐: prolog - 如何在序言中检查订单?
文章推荐: language-agnostic - 定期性能调优和维护
文章推荐: language-agnostic - 在条件语句中执行函数是否被认为是不好的形式?
文章推荐: java - Stream 而不是 Stream 在列表上调用时产生