In meinem Modell möchte ich einen Validator verwenden, um den Inhalt einer Datei zu analysieren, die Sache, die ich nicht herausfinden kann, ist, wie man auf den Inhalt der Datei zugreifen kann Datei wurde noch nicht gespeichert (was gut ist), wenn die Validatoren laufen.Wie man Validatoren auf FileField Inhalt verwendet
Ich verstehe nicht, wie man die Daten vom "value" zum Validator in eine Datei (ich nehme an, ich sollte tempfile verwenden) bekomme, damit ich es dann öffnen und die Daten auswerten kann.
Hier ist ein vereinfachtes Beispiel, in meinem realen Code möchte ich die Datei öffnen und mit csv auswerten.
in 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()])
Danke für die Hilfe!