django-admin2/example2/polls/models.py

40 lines
1.2 KiB
Python
Raw Normal View History

2013-07-07 14:13:48 +00:00
# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, unicode_literals
2013-06-05 02:06:33 +00:00
import datetime
2013-06-05 01:10:59 +00:00
from django.db import models
2013-06-05 02:06:33 +00:00
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
2013-06-05 01:10:59 +00:00
class Poll(models.Model):
question = models.CharField(max_length=200, verbose_name=_('question'))
pub_date = models.DateTimeField(verbose_name=_('date published'))
def __unicode__(self):
return self.question
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
2013-06-05 01:59:15 +00:00
was_published_recently.admin_order_field = 'pub_date'
was_published_recently.boolean = True
was_published_recently.short_description = _('Published recently?')
class Meta:
verbose_name = _('poll')
verbose_name_plural = _('polls')
class Choice(models.Model):
poll = models.ForeignKey(Poll, verbose_name=_('poll'))
choice_text = models.CharField(max_length=200, verbose_name=_('choice text'))
votes = models.IntegerField(default=0, verbose_name=_('votes'))
def __unicode__(self):
return self.choice_text
class Meta:
verbose_name = _('choice')
verbose_name_plural = _('choices')