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
管理器。