глобальная перегрузка upload_to в django - PullRequest
1 голос
/ 21 декабря 2011

Допустим, у меня много таких моделей:

class ExampleModel(models.Model):
    photo = models.ImageField(upload_to='photos/')
    image = models.ImageField(upload_to='images/')

class AnotherExampleClass(models.Model):
    another_image = models.ImageField(upload_to='another_images/')

Итак, это много разных моделей с ImageFields, которые имеют разные имена полей. Что я хочу, так это как-то переопределить все upload_to вот так:

upload_to = '%s/%s' % (upload_to, self.id)

например, если я загружу изображение в поле another_image, путь к файлу будет:

'another_images/1/picture.jpg'

Я понимаю, что мне нужно создать CustomImageField на основе models.ImageField. Но как именно достичь этого с минимальной болью?

1 Ответ

2 голосов
/ 21 декабря 2011

upload_to может быть вызываемым. Вы знаете, что делать дальше. : -)

...