我正在组装一个Django应用程序-创建和注册的模型和模型形式。
当添加或编辑特定的模型记录时,我需要调用外部服务来获取一些信息。如果信息检索成功,我希望更新该模型上的一列,用户不知道该列并保存该模型。如果调用失败,我需要防止保存发生,并将自定义消息返回给用户。
我尝试过引发异常,以字符串的形式返回消息等,但似乎没有效果。虽然我可以阻止保存发生,但如果不返回模型,我将得到堆栈跟踪。
我见过使用clean()方法或信号的各种解决方案,但似乎没有一种解决方案适合需要。
我需要发生的事情的顺序是:
我只是无法找到一个简单的解决方案,在那里-任何帮助感谢!
发布于 2020-05-14 09:40:49
from django.contrib import messages
class MyAdminView(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
try:
super(MyAdminView, self).save_model(request, obj, form, change)
except Exception as e:
messages.set_level(request, messages.ERROR)
messages.error(request, e)发布于 2019-05-10 15:34:43
class MyAdminView(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
super(MyAdminView, self).save_model(request, obj, form, change)https://stackoverflow.com/questions/56080420
复制相似问题