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