与其他用户共享文件 (Django)
Share files with other users (Django)
应用说明:
这个应用程序的主要思想是创建项目并在获得许可的情况下与其他用户共享上传的文件。
所以:
创建项目后(这也是一个项目模块),
当任何用户将他的文件上传到 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
所以,请问有什么想法或如何解决这类问题?
提前致谢!!
我找到了解决方案,也许它可以帮助某人:
在项目和上传的文件之间建立关系
并对其应用过滤器:
File.objects.filter(project_owner__user=project.user)
应用说明: 这个应用程序的主要思想是创建项目并在获得许可的情况下与其他用户共享上传的文件。 所以: 创建项目后(这也是一个项目模块), 当任何用户将他的文件上传到 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
所以,请问有什么想法或如何解决这类问题? 提前致谢!!
我找到了解决方案,也许它可以帮助某人: 在项目和上传的文件之间建立关系 并对其应用过滤器:
File.objects.filter(project_owner__user=project.user)