[英]In django users should be able to see only the files which they uploaded
我正在开发一个简单的 django 网站,该网站为其用户提供上传文件的功能。 现在,每个经过身份验证的用户都可以看到所有上传的文件。 我怎样才能让用户只能看到他们上传的文件? 我的模特:
from django.db import models
from django.contrib.auth.models import User
class Document
title = models.CharField(max_length=100)
file = models.FileField(upload_to = 'media')
def __str__(self):
return self.title
我相信我需要在我的文档 class 中添加一个 ForeignKey model 来追溯用户 ID...不幸的是,我没有找到让它工作的方法。 任何帮助表示赞赏。 谢谢你。
在您的 Model 文档中,向用户添加一个带有外键的字段 created_by。 现在在您的视图中,只返回当前用户创建的文件。
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
那么在你看来
return Document.objects.filter(created_by=user)
它将只返回用户创建的文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.