mirror of
https://github.com/Hopiu/django-model-utils.git
synced 2026-03-16 20:00:23 +00:00
Minor cleanups.
This commit is contained in:
parent
1fce7073e2
commit
7716c6397e
2 changed files with 10 additions and 10 deletions
|
|
@ -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 -->')
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue