我构建了一个应用程序,在其中列出人员和公司。个人和公司的每个条目都归一个用户所有。
owner = models.ForeignKey('auth.User', related_name='+', null=True, blank=True)
我想知道如何在每个视图中只显示特定用户拥有的帖子。这样只显示用户添加的公司,而不是每个用户的每个条目。
我想 if request.user = people.owner 可能会起作用,但这真的是最好的方法吗?
提前致谢!
我构建了一个应用程序,在其中列出人员和公司。个人和公司的每个条目都归一个用户所有。
owner = models.ForeignKey('auth.User', related_name='+', null=True, blank=True)
我想知道如何在每个视图中只显示特定用户拥有的帖子。这样只显示用户添加的公司,而不是每个用户的每个条目。
我想 if request.user = people.owner 可能会起作用,但这真的是最好的方法吗?
提前致谢!
当您在视图中找到相关模型时,按用户过滤:
people = People.objects.filter(owner=request.user).filter(...)
如果您想稍微考虑一下,可以使用带有相关方法的自定义管理器,看起来像
people = People.objects.for_current_user(request).filter(...)
但是当然这并不能节省太多的输入,因为你仍然需要传入request
对象——但是如果你想要更复杂的逻辑(例如超级用户可以查看所有人),那么这会很方便。