Как вернуть 404 в случае набора запросов верно для Django DetailView - PullRequest
1 голос
/ 30 апреля 2020

Наличие поля внутри моей модели

class myModel(models.Model):
    published = models.BooleanField(
        default=False,
        help_text="Whether this is visible."
    )

Мой detailView пока довольно прост и понятен

class myDetailView(DetailView):
    template_name = "detail.html"
    model = myModel

Я ищу способ визуализации ошибки 404 при сопоставлении django .views.generi c .DetailView в случае логического значения False. Как этого достичь?

1 Ответ

4 голосов
/ 30 апреля 2020

Вы можете установить набор запросов на:

class MyDetailView(DetailView):
    model = myModel
    template_name = 'detail.html'
    <b>queryset = myModel.objects.filter(published=True)</b>

, таким образом, он будет учитывать только myModel объекты, где published установлен на True. Если объект myModel существует с published=False, он вернет 404, поскольку отфильтрованный набор запросов не будет содержать этот элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...