2

我构建了一个应用程序,在其中列出人员和公司。个人和公司的每个条目都归一个用户所有。

owner = models.ForeignKey('auth.User', related_name='+', null=True, blank=True)

我想知道如何在每个视图中只显示特定用户拥有的帖子。这样只显示用户添加的公司,而不是每个用户的每个条目。

我想 if request.user = people.owner 可能会起作用,但这真的是最好的方法吗?

提前致谢!

4

1 回答 1

2

当您在视图中找到相关模型时,按用户过滤:

 people = People.objects.filter(owner=request.user).filter(...)

如果您想稍微考虑一下,可以使用带有相关方法的自定义管理器,看起来像

people = People.objects.for_current_user(request).filter(...)

但是当然这并不能节省太多的输入,因为你仍然需要传入request对象——但是如果你想要更复杂的逻辑(例如超级用户可以查看所有人),那么这会很方便。

于 2012-08-06T17:57:54.913 回答