django-simple-ratings

A simple, extensible rating system
Download

django-simple-ratings Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • Charles Leifer
  • Publisher web site:
  • http://www.charlesleifer.com/blog/

django-simple-ratings Tags


django-simple-ratings Description

A simple, extensible rating system django-simple-ratings is a simple and extensible rating system.Getting startedyou'd like to add ratings to some model:from django.db import modelsfrom rating.models import Ratingsclass 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()>>> apple.ratings.cumulative_score()6>>> apple.ratings.average_score()3.0# order things by their rating>>> Food.ratings.order_by_rating()Use GFKs, FKs, whateverBy 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.nameThe API is exactly the same. Requirements: · Python · Django


django-simple-ratings Related Software