diff options
Diffstat (limited to 'parts/django/tests/regressiontests/extra_regress/models.py')
-rw-r--r-- | parts/django/tests/regressiontests/extra_regress/models.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/parts/django/tests/regressiontests/extra_regress/models.py b/parts/django/tests/regressiontests/extra_regress/models.py new file mode 100644 index 0000000..073157a --- /dev/null +++ b/parts/django/tests/regressiontests/extra_regress/models.py @@ -0,0 +1,40 @@ +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) + |