Search code examples
djangodjango-generic-views

Django DetailView occurs an error?


I Implemented very simple DetailView in Django 1.9.5:

class PostDetailView(DetailView):
    Model = Post
    template_name = "post/detail.html"

urls.py

from django.conf.urls import url

from chacha_dabang.views import *

urlpatterns = [
    url(r'^$', PostListView.as_view(), name="post_list"),
    url(r'^new/$', post_new, name="post_new"),
    url(r'^(?P<pk>\d+)/$', PostDetailView.as_view(), name="post_detail"),
    url(r'^(?P<pk>\d+)/edit$', post_edit, name="post_edit"),
    url(r'^(?P<pk>\d+)/delete$', post_delete, name="post_delete"),

    url(r'^(?P<pk>\d+)/comment/new/$', comment_new, name="comment_new"),
    url(r'^(?P<pk>\d+)/comment/(?P<comment_pk>\d+)/edit$', comment_edit, name="comment_edit"),
]

Errors : enter image description here

I don't know why it says I have to override query_set(). (As I Know, DetailView automatically set query according to pk)

If I used Function Based View like below,

def post_detail(request, pk):
    post = Post.objects.get(pk=pk)
    return render(
        request,
        'post/detail.html',
        {
            'post': post,
        }
    )

It totally works fine. Need your helps.


Solution

  • You capitalized model. It is not Model, it should be model.