Dans mon modèle, je souhaite utiliser un validateur pour analyser le contenu d'un fichier. Ce que je n'arrive pas à comprendre, c'est comment accéder au contenu du fichier pour l'analyser en tant que le fichier n'a pas encore été enregistré (ce qui est bien) lorsque les validateurs sont en cours d'exécution.Comment utiliser les validateurs sur le contenu FileField
Je ne comprends pas comment obtenir les données de la 'valeur' passée au validateur dans un fichier (je suppose que je devrais utiliser le fichier temporaire) afin que je puisse l'ouvrir et évaluer les données.
Voici un exemple simplifié, dans mon vrai code, je veux ouvrir le fichier et l'évaluer avec csv.
dans Models.py
class ValidateFile(object):
....
def __call__(self, value):
# value is the fieldfile object but its not saved
# I believe I need to do something like:
temp_file - tempfile.TemporaryFile()
temp_file.write(value.read())
# Check the data in temp_file
....
class MyItems(models.Model):
data = models.FileField(upload_to=get_upload_path,
validators=[FileExtensionValidator(allowed_extensions=['cv']),
ValidateFile()])
Merci pour l'aide!