from django.db import models import datetime class Poll(models.Model): question = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def was_published_today(self): return self.pub_date.date() == datetime.date.today() was_published_today.short_description = 'Published today?' def total_votes(self): return sum( [ c.votes for c in self.choice_set.all() ] ) class Admin: fields = ( (None, {'fields': ('question',)}), ('Date information', {'fields': ('pub_date',), 'classes': 'collapse'}), ) list_display = ('question', 'pub_date', 'was_published_today', 'total_votes') list_filter = ['pub_date'] date_hierarchy = 'pub_date' search_fields = ['question'] js = ['admintricks/js/totals.js',] def __unicode__(self): return self.question class Choice(models.Model): poll = models.ForeignKey(Poll, edit_inline=models.TABULAR, num_in_admin=3) choice = models.CharField(max_length=200, core=True) votes = models.IntegerField(core=True) def __unicode__(self): return self.choice