我正在尝试设置我的上载,以便如果用户joe上载文件,它将转到MEDIA_ROOT/joe,而不是让每个人的文件都转到MEDIA_ROOT。问题是我不知道如何在模型中定义它。以下是它当前的外观:
class Content(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User)
file = models.FileField(upload_to='.')
所以我想要的是代替“.”作为上传,让它成为用户的名字。
我知道从Django 1.0开始,你可以定义自己的函数来处理上传,但是这个函数也不知道用户是谁,所以我有点迷茫。
谢谢你的帮助!
你可能已经读过the documentation,下面是一个简单的例子来说明这一点:
如您所见,您甚至不需要使用给定的文件名-如果您愿意,也可以在上载中重写该文件名以调用。
关于使用“instance”对象的pk值的说明。根据文件:
因此,使用pk的有效性取决于如何定义您的特定模型。
这真的很有帮助。为了简洁起见,决定在我的案例中使用lambda:
相关问题 更多 >
编程相关推荐