django-simple-ratings 0.3.2

A simple, extensible rating system

  Add it to your Download Basket!

 Add it to your Watch List!

0/5

Rate it!
send us
an update
LICENSE TYPE:
MIT/X Consortium License 
USER RATING:
UNRATED
  0.0/5
DEVELOPED BY:
Charles Leifer
HOMEPAGE:
github.com
CATEGORY:
ROOT \ Internet \ HTTP (WWW)
django-simple-ratings is a simple and extensible rating system.

Getting started

you'd like to add ratings to some model:

from django.db import models
from rating.models import Ratings

class Food(models.Model):
 name = models.CharField(max_length=50)

 ratings = Ratings()


now, you can:

# add ratings to things
>>> apple.ratings.rate(user=john, score=1)
< RatedItem: apple rated 1 by john >

>>> apple.ratings.rate(user=jane, score=5)
< RatedItem: apple rated 5 by jane >

# get interesting aggregate data
>>> apple.ratings.all()
[< RatedItem: apple rated 1 by john >, < RatedItem: apple rated 5 by jane >]

>>> apple.ratings.cumulative_score()
6

>>> apple.ratings.average_score()
3.0

# order things by their rating
>>> Food.ratings.order_by_rating()
[< Food: apple >, < Food: orange >]


Use GFKs, FKs, whatever

By default, whenever you add Ratings() to your model it uses the RatedItem model which has a GFK on it. Suppose you are only rating one thing, or would like to have an explicit database constraint -- that's no problem. You can provide a custom RatedItem model with a ForeignKey instead of a GFK. Here's the example from the tests:

class BeverageRating(RatedItemBase):
 content_object = models.ForeignKey('Beverage')


class Beverage(models.Model):
 name = models.CharField(max_length=50)

 ratings = Ratings(BeverageRating)

 def __unicode__(self):
 return self.name


The API is exactly the same.

Last updated on August 30th, 2012

requirements

#rating system #Django ratings #Django #rating #programming #Ratings()

Add your review!

SUBMIT