大多数情况下,您从模型属性中获得的错误会在您保存数据时发生。例如,如果您尝试将字符串保存为 IntegerProperty,则会导致错误。
一个例外(没有双关语)是 ReferenceProperty。如果你有很多引用并且你没有完全小心留下错误的引用,那么通常会遇到类似“TemplateSyntaxError: Caught an exception while rendering: ReferenceProperty failed to be resolved”之类的错误。
这是如果视图中只有一个错误的参考。哦。
我可以编写一个 try/except 块来尝试访问所有引用属性并在引发异常时删除它们,但是如果有比我更通用的方法,这个功能肯定对许多其他开发人员有用能写。我想它会采用模型类型列表并尝试访问每个模型中每个实体的每个引用属性,如果引发异常,则将该属性设置为 None 。
我会看看我自己是否可以做到这一点,但有一些建议/片段让我开始肯定会有所帮助。