2009-07-02 18:03:02 +00:00
|
|
|
from django.db import models
|
2010-04-15 02:53:55 +00:00
|
|
|
from django.utils.translation import ugettext_lazy as _
|
2009-07-02 18:03:02 +00:00
|
|
|
|
2010-04-15 18:00:44 +00:00
|
|
|
from model_utils.models import InheritanceCastModel, TimeStampedModel, StatusModel, TimeFramedModel
|
2009-07-30 21:11:36 +00:00
|
|
|
from model_utils.managers import QueryManager
|
2010-01-15 22:26:59 +00:00
|
|
|
from model_utils.fields import SplitField
|
2010-04-15 18:00:44 +00:00
|
|
|
from model_utils import Choices
|
2009-07-02 18:03:02 +00:00
|
|
|
|
|
|
|
|
class InheritParent(InheritanceCastModel):
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
class InheritChild(InheritParent):
|
|
|
|
|
pass
|
|
|
|
|
|
2009-07-02 20:14:29 +00:00
|
|
|
class TimeStamp(TimeStampedModel):
|
|
|
|
|
pass
|
2009-07-30 21:11:36 +00:00
|
|
|
|
2010-04-15 02:53:55 +00:00
|
|
|
class TimeFrame(TimeFramedModel):
|
|
|
|
|
pass
|
|
|
|
|
|
2010-04-15 18:00:44 +00:00
|
|
|
class Status(StatusModel):
|
|
|
|
|
STATUS = Choices(
|
2010-04-15 02:53:55 +00:00
|
|
|
('active', _('active')),
|
|
|
|
|
('deleted', _('deleted')),
|
|
|
|
|
('on_hold', _('on hold')),
|
|
|
|
|
)
|
|
|
|
|
|
2010-04-15 22:12:08 +00:00
|
|
|
class Status2(StatusModel):
|
|
|
|
|
STATUS = (
|
|
|
|
|
('active', _('active')),
|
|
|
|
|
('deleted', _('deleted')),
|
|
|
|
|
('on_hold', _('on hold')),
|
|
|
|
|
)
|
2010-04-15 18:00:44 +00:00
|
|
|
|
2009-07-30 21:11:36 +00:00
|
|
|
class Post(models.Model):
|
|
|
|
|
published = models.BooleanField()
|
|
|
|
|
confirmed = models.BooleanField()
|
|
|
|
|
order = models.IntegerField()
|
|
|
|
|
|
|
|
|
|
objects = models.Manager()
|
|
|
|
|
public = QueryManager(published=True)
|
|
|
|
|
public_confirmed = QueryManager(models.Q(published=True) &
|
|
|
|
|
models.Q(confirmed=True))
|
|
|
|
|
public_reversed = QueryManager(published=True).order_by('-order')
|
|
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
|
ordering = ('order',)
|
2010-01-15 22:26:59 +00:00
|
|
|
|
|
|
|
|
class Article(models.Model):
|
|
|
|
|
title = models.CharField(max_length=50)
|
|
|
|
|
body = SplitField()
|
|
|
|
|
|
|
|
|
|
def __unicode__(self):
|
|
|
|
|
return self.title
|
2010-01-31 15:54:36 +00:00
|
|
|
|
|
|
|
|
class NoRendered(models.Model):
|
|
|
|
|
"""
|
|
|
|
|
Test that the no_excerpt_field keyword arg works. This arg should
|
|
|
|
|
never be used except by the South model-freezing.
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
body = SplitField(no_excerpt_field=True)
|