一般的な関数でドキュメント プロパティを取得しようとしていますが、一部のモデルにはドキュメント属性がない場合があります。モデルにドキュメント プロパティがあるかどうかを最初に確認してから、条件付きでコードを実行する方法はありますか?
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()