Minor cleanups.

This commit is contained in:
Jannis Leidel 2010-04-15 04:43:27 +02:00
parent 1fce7073e2
commit 7716c6397e
2 changed files with 10 additions and 10 deletions

View file

@ -3,7 +3,7 @@ from datetime import datetime
from django.db import models
from django.conf import settings
class AutoCreatedField (models.DateTimeField):
class AutoCreatedField(models.DateTimeField):
"""
A DateTimeField that automatically populates itself at
object creation.
@ -11,22 +11,22 @@ class AutoCreatedField (models.DateTimeField):
By default, sets editable=False, default=datetime.now.
"""
def __init__ (self, *args, **kwargs):
def __init__(self, *args, **kwargs):
kwargs.setdefault('editable', False)
kwargs.setdefault('default', datetime.now)
super(AutoCreatedField, self).__init__(*args, **kwargs)
class AutoLastModifiedField (AutoCreatedField):
class AutoLastModifiedField(AutoCreatedField):
"""
A DateTimeField that updates itself on each save() of the model.
By default, sets editable=False and default=datetime.now.
"""
def pre_save (self, model_instance, add):
def pre_save(self, model_instance, add):
value = datetime.now()
setattr(model_instance, self.attname, value)
return value
return value
SPLIT_MARKER = getattr(settings, 'SPLIT_MARKER', '<!-- split -->')

View file

@ -12,23 +12,23 @@ class InheritanceCastModel(models.Model):
"""
real_type = models.ForeignKey(ContentType, editable=False, null=True)
def save(self, *args, **kwargs):
if not self.id:
self.real_type = self._get_real_type()
super(InheritanceCastModel, self).save(*args, **kwargs)
def _get_real_type(self):
return ContentType.objects.get_for_model(type(self))
def cast(self):
return self.real_type.get_object_for_this_type(pk=self.pk)
class Meta:
abstract = True
class TimeStampedModel (models.Model):
class TimeStampedModel(models.Model):
"""
An abstract base class model that provides self-updating
``created`` and ``modified`` fields.