Подтвердить что ты не робот

Как очистить ImageField

У меня есть ImageField в моей модели, и когда я его сохраняю, я хочу проверить, нет ли этого или нет.

В оболочке django я вызываю свой объект ImageField, и он дает:

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

Я обнаружил, что имя ImageField - это u '', так есть ли лучший способ сделать это?

4b9b3361

Ответ 1

Я обнаружил, что имя ImageField u '', так есть лучший способ сделать это?

На самом деле, похоже, что именно этот класс оценивает bool(), поэтому лучший способ - просто проверить его bool(), вызвав if p.avatar

ImageFieldFile подклассы File, который определяет:

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

Итак, лучший способ:

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

bool(p.avatar) is False