Django путь динамического изображения с использованием группы пользователей - PullRequest
1 голос
/ 08 января 2012

У меня есть эта фотомодель

class Photo(models.Model):
    photo = ImageField(_('photo'), upload_to='upload/products')
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)
    quality = models.PositiveSmallIntegerField(_('quality'), default=0)

Я хочу установить путь в зависимости от группы пользователей. Я знаю, что могу установить вызываемую функцию на upload_to, но в примерах, которые я видел, они всегда имеют доступ к полям экземпляра фотографии. Я могу получить доступ к user или request на мой взгляд. Могу ли я установить upload_to оттуда?

1 Ответ

0 голосов
/ 09 января 2012

Django не предоставляет доступ текущему пользователю в model из-за

Если вам нужен доступ к пользователю где-нибудь, напишите функцию или метод, который принимает пользователяв качестве аргумента, и ваш взгляд вызывает эту функцию или метод, передавая пользователю.Это примерно в восемьдесят миллиардов раз проще, чем придумывать локальные хаки, чтобы попытаться создать волшебную глобальную пользовательскую переменную, что приводит к созданию более чистого и понятного кода, снижает вероятность трудных для отслеживания ошибок в коде и, что лучше всегоэто совершенно очевидный способ выполнить задачу.

(из http://groups.google.com/group/django-users/browse_thread/thread/44ced967d9da3500)

Но вы можете использовать хак, как django-globals

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...