我有这个照片模型
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
吗?
答案 0 :(得分:0)
Django无法在model
到期
如果您需要在某处访问用户,请编写函数或方法 它将用户作为参数,并让您的视图调用它 功能或方法,传递用户。这大约是八十岁 比提出threadlocal hacks试图要简单十亿倍 创建一个神奇的全局用户变量,结果更清晰, 易于理解的代码,降低了可能性 代码中难以跟踪的错误,最重要的是,它是完美的 完成任务的明显方法。
(来自http://groups.google.com/group/django-users/browse_thread/thread/44ced967d9da3500)
但你可以像django-globals
那样使用hack