Rückruf als upload_to an FileField übergeben
Ich habe eine abstrakte Modellklasse UploadItem für die Verarbeitung hochgeladener Dateien. Ich möchte, dass jede Unterklasse den upload_to-Pfad definieren kann. Dafür übergebe ich einen Rückruf an den Konstruktor von FileField.
Dies ist ein Beispiel
class UploadItem(models.Model):
file = models.FileField(upload_to=UploadItem.get_directory)
class Meta:
abstract = True
# I want videos to be storred in 'videos/' directory
class Video(UploadItem):
def get_directory(self, instance, filename):
return 'videos/'
Aber das funktioniert nicht, ich erhalte diesen Fehler:
file = models.FileField(upload_to=UploadItem.get_directory)
NameError: name 'UploadItem' is not defined