Django: ¿Cómo reemplazar / sobrescribir / actualizar / cambiar un archivo de FileField?

En Django, tengo el siguiente modelo:

from django.db import models
from django.core.files.base import File
import os, os.path

class Project(models.Model):
    video = models.FileField(upload_to="media")

    def replace_video(self):
        """Convert video to WebM format."""
        # This is where the conversion takes place,
        # returning a path to the new converted video
        # that I wish to override the old one.
        video_path = convert_video()

        # Replace old video with new one,
        # and remove original unconverted video and original copy of new video.
        self.video.delete(save=True)
        self.video.save(os.path.basename(video_path), File(open(video_path ,"wb")), save=True)
        os.remove(video_path)

Quiero poderreemplazar el archivo en el FileFieldvídeo en un modelo de objeto / instancia. El método anterior que he escrito no funciona. Una vez que elimino el archivo original, aparece el siguiente error:

ValueError: The 'video' attribute has no file associated with it.

¿Cómo puedo reemplazar el archivo con uno actualizado y eliminar el original (ya no es necesario)?

Nota al margen: He encontrado unasunto relacionado, pero sin una respuesta satisfactoria.

Respuestas a la pregunta(2)

Su respuesta a la pregunta