parts/django/tests/regressiontests/extra_regress/models.py
changeset 69 c6bca38c1cbf
--- /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)
+