Como obter o tamanho do arquivo e o resumo SHA-1 de um arquivo enviado?

Eu tenho esse modelo no meu aplicativo Django:

class Image(models.Model):
    image_file = models.ImageField(
        upload_to='images/', 
        width_field='width',
        height_field='height'
    )
    width = models.PositiveIntegerField(
        blank = True, null = True,
        editable = False
    )
    height = models.PositiveIntegerField(
        blank = True, null = True,
        editable = False
    )

    sha1 = models.CharField(max_length=32, blank=True, editable=False)
    filesize = models.PositiveIntegerField(blank=True, null=True, editable=False)

Agora posso carregar imagens através do site de administração do Django. E awidth eheights propriedades @ são salvas no banco de dados automaticamente quando são carregadas, devido às propriedades especiaisImageField parâmetros.

Mas eu também gostaria que ele resolvesse automaticamente o arquivoTamanh e SHA-1 digest e salve essas propriedades também. Como eu faria isso

questionAnswers(4)

yourAnswerToTheQuestion