Simple youtube like up and down rating app for Django.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Reworked most of the application Mar 1, 2016
.travis.yml Bump version, update changelog Apr 28, 2016 Updated README, separate CHANGELOG Mar 2, 2016
setup.cfg Added setup.cfg Mar 2, 2016 Removed readme reference from Mar 2, 2016


Simple Django application for adding Youtube like up and down voting.

Build Status


pip install django-updown


Add "updown" to your INSTALLED_APPS. Then just add a RatingField to your existing model:

from django.db import models
from updown.fields import RatingField

class Video(models.Model):
    # ...other fields...
    rating = RatingField()

You can also allow the user to change his vote:

class Video(models.Model):
    # ...other fields...
    rating = RatingField(can_change_vote=True)

Now you can write your own view to submit ratings or use the predefined:

from updown.views import AddRatingFromModel

urlpatterns = patterns("",
    url(r"^(?P<object_id>\d+)/rate/(?P<score>[\d\-]+)$", AddRatingFromModel(), {
        'app_label': 'video',
        'model': 'Video',
        'field_name': 'rating',
    }, name="video_rating"),

To submit a vote just go to video/<id>/rate/(1|-1). If you allowed users to change they're vote, they can do it with the same url.