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

questionAnswers(2)

yourAnswerToTheQuestion