--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/parts/django/tests/regressiontests/extra_regress/models.py Sat Jan 08 11:20:57 2011 +0530
@@ -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)
+