如何检查ImageField是否为空

发布于 2024-10-20 14:02:58 字数 259 浏览 1 评论 0原文

我的模型中有一个 ImageField,当我保存它时,我想检查它是否为 None。

在 django shell 中,我调用对象的 ImageField,它给出:

>>> p.avatar
<ImageFieldFile: None>
>>> p.avatar is None
False

我发现 ImageField 的名称是 u'',那么有没有更好的方法来做到这一点?

I have an ImageField in my model and when I'm saving it I want to check that if it's None or not.

In django shell I'm calling my object's ImageField and it gives :

>>> p.avatar
<ImageFieldFile: None>
>>> p.avatar is None
False

I found that the ImageField's name is u'', so is there any better way to do it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只怪假的太真实 2024-10-27 14:02:58

我发现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

I found that the ImageField's name is
u'', so is there any better way to do
it ?

Actually, it looks like that's exactly how this class evaluates bool(), so the better way is to just test its bool() by calling if p.avatar

ImageFieldFile subclasses File, which defines:

def __nonzero__(self):
    return bool(self.name)

So the better way is indeed:

if not p.avatar:
   print "I don't exist"

bool(p.avatar) is False
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文