Предположим, у нас есть модель с BinaryField
:
from django.db import models
import hashlib
class Target(models.Model):
# ...
image = models.BinaryField(max_length=(1<<24)-1)
# ...
def __str__(self):
return hashlib.md5().update(self.image).hexdigest()
. Правильно ли рассчитан код MD5 для дайджеста изображения, приведенный выше?Или есть какой-то метод или переменная внутри BinaryField
, чтобы заставить память передаваться методу update()
?
ОБНОВЛЕНИЕ: Когда я пытаюсь:
>>> from pathlib import Path
>>> t = Target(image=Path('../../Experiments/LoginError2.jpg').read_bytes())
>>> t
, я получаюследующая ошибка:
AttributeError: 'NoneType' object has no attribute 'hexdigest'
Так что я делаю не так?