django 管理站点 - 仅显示由 request.user 创建的模型对象

Gor*_*ran 1 django django-admin django-views

我有一个简单的博客应用程序,其中包含author=models.ForeignKey(User, editable=False)字段。博客文章是从 django 管理站点创建的,我使用save_model获取作者,即 request.user。

现在我希望用户 (is_staff) 在浏览模特帖子时只能看到他自己的帖子。但是默认情况下会显示所有博客文章,那么如何隐藏其他用户创建的博客文章?当然,超级用户需要看到所有这些。

Dan*_*man 5

覆盖get_querysetModelAdmin 子类上的方法。该文档有一个您所要求的示例:仅显示与当前用户相关的对象。

  • 答案中的链接已失效。以下是 Django 3.1 的[文档](https://docs.djangoproject.com/en/3.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_queryset)的更新链接。 (2认同)