簡體   English   中英

在 django 中,用戶應該只能看到他們上傳的文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM