モデルにImageFieldがあり、それを保存するときに、Noneかどうかを確認したいと思います。
Django Shellで、オブジェクトのImageFieldを呼び出していますが、次のようになります。
>>> p.avatar
<ImageFieldFile: None>
>>> p.avatar is None
False
ImageFieldの名前はu ''であることがわかりました。それで、それを行うためのより良い方法はありますか?
ImageFieldの名前はu ''であることがわかりました。それで、それを行うためのより良い方法はありますか?
実際には、このクラスがbool()
を評価するのはまさにそのように見えるので、_if p.avatar
_を呼び出してbool()
をテストするのがより良い方法です。
ImageFieldFile
サブクラスFile
は、以下を定義します。
_def __nonzero__(self):
return bool(self.name)
_
したがって、より良い方法は確かに次のとおりです。
_if not p.avatar:
print "I don't exist"
bool(p.avatar) is False
_