我正在創建一個將DVD/BD存儲到數據庫的基於Django的電影集合。應用程序將這些電影保存到存檔。用戶可以擁有一個檔案,但檔案可以被多個人使用(例如,家庭成員可以共享相同的檔案)。而同樣與Django模型:根據Django中的用戶標識過濾內容的最佳實踐?
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
archive = models.ForeignKey(Archive, blank=True, null=True)
class Archive(models.Model):
name = models.CharField(max_length=200)
class Movie(models.Model):
archive = models.ForeignKey(Archive)
title = models.CharField(max_length=200, null=True, blank=True)
什麼是確保,即用戶只能看到電影,屬於用戶的存檔等信息的最佳做法?
當然filter()可以完成這項工作,但是有沒有一種方法可以完成過濾功能,以便所有視圖都只執行一次?用中間件?還是裝飾者?