[英]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.