我有兩個直接相關的問題。模型驗證:我可以訪問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 –