django - 草稿帖子:自定义管理器仅提取已发布的帖子,但在管理站点中我需要所有帖子
问题描述
Django 3.0.8
class PublishedManager(models.Manager):
def get_queryset(self):
return super().get_queryset().filter(draft=False)
class Post(models.Model):
published = PublishedManager()
...
问题 在管理站点草稿现在不可见。这似乎是合理的:
Post.published.all()
<QuerySet []>
但是如何在管理员中显示所有帖子?
解决方案
可以这样实现:
class Post(models.Model):
published = PublishedManager()
objects = models.Manager()
每次您需要同时使用已发布和草稿对象时,请使用Post.objects
管理器。