В вашем DetailView
вы можете фильтровать набор запросов, например, вы можете фильтровать с помощью:
from django.views.generic import DetailView
class PostDetailView(DetailView):
queryset = Post.objects.filter(<b>active=True</b>)
# …
DetailView
будет извлекать элемент на основе первичного ключа и / или слага в queryset
, поэтому, если элемент отсутствует в отфильтрованном наборе запросов, вы получите ошибку 404.
Здесь мы предполагаем, что модель Post
имеет поле active
:
class Post(models.Model):
# …
<b>active = models.BooleanField()</b>
# …
Учитывая, что поле и значения различны, вы, конечно, должны соответствующим образом отфильтровать набор запросов.