与其他用户共享文件 (Django)

时间:2021-05-31 16:58:40

标签: python html django redis

关于应用程序的描述: 这个应用程序的主要思想是创建项​​目并在获得许可的情况下与其他用户共享上传的文件。 所以: 创建项目后(这也是一个项目模块), 当任何用户将他的文件上传到 Django 数据库时,他可以使这个文件对其他用户可见或不可见(这取决于他的选择)。 这是模型:

class File(models.Model):
    file_name = models.CharField(max_length=100)
    file = models.FileField(storage=file_storage, max_length=100)
    project_owner = models.ForeignKey(Project, on_delete=models.CASCADE,related_name='project_owner')
    projects_accessed = models.ManyToManyField(Project)

这也是项目模块:

class Project(models.Model):
    name = models.CharField(max_length=30)
    task = models.ForeignKey(Task, on_delete=models.SET_NULL, null=True, blank=True)
    user = models.ForeignKey(UserProfile, on_delete=models.CASCADE)

这就是我想要创建的原型!! Image Proto type

那么,请有任何想法或如何解决此类问题? 提前谢谢你!!

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,也许它可以帮助某人: 在项目和上传的文件之间建立关系 并对其应用过滤器:

File.objects.filter(project_owner__user=project.user)