我有两个直接相关的问题。模型验证:我可以访问ValidationError代码吗?
Django documentation建议用代码提高ValidationError:
# Good
ValidationError(_('Invalid value'), code='invalid')
# Bad
ValidationError(_('Invalid value'))
我如何可以访问测试代码?我的所有尝试使用as_data
,as_json
,或者干脆.code
上捕获的异常失败。不幸的是,我看到的所有建议都与表单验证有关。我的测试验证了模型。
这几乎是问before(我不使用形式)同样的问题。
相关问题:上面链接的文档页面给出了一些关于如何引发ValidationError的例子,而“引发ValidationError”部分推荐使用代码,“在实践中使用验证”再也没有提及它,没有使用代码。我想知道这是否表明这个功能是陈旧的。
你正赶上只是尽量把它放在'目录(E)'和看到输出异常。它会显示该对象的可用方法和变量 –
它输出'['__cause__','__class__','__context__','__delattr__','__dict__','__dir__','__doc__','__eq__',' __format__”, '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__' ,'__reduce__','__reduce_ex__','__repr__','__setattr__','__setstate__','__sizeof__','__str__','__subclasshook__','__suppress_context__','__traceback__','__weakref__','args' error_dict','message_dict','messages','update_error_dict','with_traceback']'。不知道该怎么办。 – texnic
我认为'error_dict'或'message_dict'或'messages'是要尝试的属性。只需尝试e.messages –