我正在尝试在通用函数中获取文档属性,但一些模型可能没有文档属性。有没有办法首先检查模型是否具有文档属性,然后有条件地运行代码?
if self.model has property documents:
context['documents'] = self.get_object().documents.()
您可以使用hasattr()
来检查模型是否具有文档属性。
if hasattr(self.model, 'documents'):
doStuff(self.model.documents)
但是,这个答案指出,有些人认为“请求宽恕比请求许可更容易”的做法是更好的做法。
try:
doStuff(self.model.documents)
except AttributeError:
otherStuff()