对于 Django DetailView,如何 return 在查询集为真的情况下出现 404
How to return a 404 in case of a queryset is true for Django DetailView
我的模型中有一个字段
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
我正在寻找一种方法来在相应的 django.views.generic.DetailView 上呈现 404 错误,以防布尔值为 False。如何实现?
您可以将查询集设置为:
class MyDetailView(DetailView):
model = myModel
template_name = 'detail.html'
<b>queryset = myModel.objects.filter(published=True)</b>
因此它只会考虑 myModel
个对象,其中 published
设置为 True
。如果 myModel
对象存在 published=False
,那么它将 return 404,因为过滤的查询集将不包含该元素。
我的模型中有一个字段
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
我正在寻找一种方法来在相应的 django.views.generic.DetailView 上呈现 404 错误,以防布尔值为 False。如何实现?
您可以将查询集设置为:
class MyDetailView(DetailView):
model = myModel
template_name = 'detail.html'
<b>queryset = myModel.objects.filter(published=True)</b>
因此它只会考虑 myModel
个对象,其中 published
设置为 True
。如果 myModel
对象存在 published=False
,那么它将 return 404,因为过滤的查询集将不包含该元素。