class Post(models.Model):
        title = models.CharField(max_length=255)
        teaser = models.TextField(max_length=400)
 body = models.TextField()      
 user = models.ForeignKey(User)
        created = models.DateTimeField(auto_now_add=True)
 last_change = models.DateTimeField(auto_now=True)
        is_public = models.BooleanField(default = True)
        votes_positive = models.IntegerField(default=0)
        votes_negative = models.IntegerField(default=0)
        views_count = models.IntegerField(default=0)
 rating = models.IntegerField(default=0)
"""============================================================================================================="""

from django.http import Http404
from django.views.generic import list_detail
from django.shortcuts import get_object_or_404, get_list_or_404
from django.db.models import F
from blog.models import Post

def post_detail(request, post_id):
     post = get_object_or_404(Post, pk=post_id)

     # increment views counter

            Post.objects.filter(id=post_id).update(views_count=F(views_count)+1)

            
            
     # Show the detail page
     return list_detail.object_detail(
         request,
         queryset = Post.objects.all(),
         object_id = post_id,
     )

def posts_list(request):
    # Use the object_list view for the heavy lifting.
    return list_detail.object_list(
        request,
        queryset = Post.objects.all(),
    )

Add a code snippet to your website: www.paste.org