微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django Admin 中的错误处理导入-导出

如何解决Django Admin 中的错误处理导入-导出

当我尝试将文件导入应用程序连接到的数据库时,出现故意错误(例如不允许 NULL 的列中的 NULL 值)时,应用程序会在屏幕上显示这条非常不吸引人的错误消息。

对于开发/调试很有用,比使应用程序崩溃要好,但仍然不是那么愉快的用户

我已经看到一些解决方案在 forms.py 甚至 views.py 中实施表单有效性检查,但我的应用程序没有这些,只有一个 admin.py 文件

@admin.register(MyModel)
class ModelAdminView(ImportExportModelAdmin):
    
    ...code...

    #def save_model(self,request,obj,form,change):
        #try:
            #super().save_model(request,change)
            #return super(ModelAdminView,self).save_model(request,change)
            #obj.save()
        #except Exception as err:
            #raise ValidationError(err)
            #messages.error(request,err)
            #return super(ModelAdminView,*args,**kwargs)
            #return HttpResponseRedirect(request.path)

评论是我迄今为止尝试过的一些不成功的黑客攻击(显然不是同时)。希望其他人对此有所了解!

解决方法

处理验证的应该是您的 Resource 实例,因此您不应该看到这个原始错误。

我建议看看在 example application 中是如何处理导入的。它将向您展示这是如何结合在一起的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。