passando um retorno de chamada como upload_to para FileField
Eu tenho uma classe de modelo abstrata UploadItem para manipular arquivos enviados. Quero que cada subclasse seja capaz de definir o caminho upload_to. Para isso, passo um retorno de chamada ao construtor do FileField.
Isto é um exemplo:
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/'
Mas isso não funciona, estou recebendo este erro:
file = models.FileField(upload_to=UploadItem.get_directory)
NameError: name 'UploadItem' is not defined