/tests/regressiontests/extra_regress/models.py
Python | 40 lines | 30 code | 10 blank | 0 comment | 1 complexity | 1e70cefbed7a159f9ea1e70020a1bd26 MD5 | raw file
Possible License(s): BSD-3-Clause
- import datetime
- import django.utils.copycompat as copy
- from django.contrib.auth.models import User
- from django.db import models
- class RevisionableModel(models.Model):
- base = models.ForeignKey('self', null=True)
- title = models.CharField(blank=True, max_length=255)
- when = models.DateTimeField(default=datetime.datetime.now)
- def __unicode__(self):
- return u"%s (%s, %s)" % (self.title, self.id, self.base.id)
- def save(self, *args, **kwargs):
- super(RevisionableModel, self).save(*args, **kwargs)
- if not self.base:
- self.base = self
- kwargs.pop('force_insert', None)
- kwargs.pop('force_update', None)
- super(RevisionableModel, self).save(*args, **kwargs)
- def new_revision(self):
- new_revision = copy.copy(self)
- new_revision.pk = None
- return new_revision
- class Order(models.Model):
- created_by = models.ForeignKey(User)
- text = models.TextField()
- class TestObject(models.Model):
- first = models.CharField(max_length=20)
- second = models.CharField(max_length=20)
- third = models.CharField(max_length=20)
- def __unicode__(self):
- return u'TestObject: %s,%s,%s' % (self.first,self.second,self.third)