我希望Django用户上传任意数量的文件

时间:2016-05-14 09:27:52

标签: python django

我正在使用Django 1.8构建一个用户可以注册的Django应用程序,但是在使用我的网站时他们可能会上传很多文件。

这是一个问题,因为似乎在Django中FileField是一个数据库列,每次用户想要上传新文件时我都不能添加一列。

此外,文件可能完全不同,并且不遵循固定系统,因此我不能有一个列passportlease的列,我想用FileDesield包含描述,并且将它存储在某个地方的数据库中。如何在Django中使用最佳实践?

1 个答案:

答案 0 :(得分:1)

此问题不仅适用于文件,而且适用于您希望用户添加任意​​数量的任何数据的任何情况。解决方案是相同的:为用户定义一个带有ForeignKey的单独表。

class UserUpload(models.Model):
    file = models.FileField(...)
    description = models.CharField(...)
    user = models.ForeignKey(User)

现在,您可以使用user.userupload_set.all()获取所有用户的上传内容。