PageRenderTime 28ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/regressiontests/extra_regress/models.py

https://code.google.com/p/mango-py/
Python | 40 lines | 30 code | 10 blank | 0 comment | 1 complexity | 1e70cefbed7a159f9ea1e70020a1bd26 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. import datetime
  2. import django.utils.copycompat as copy
  3. from django.contrib.auth.models import User
  4. from django.db import models
  5. class RevisionableModel(models.Model):
  6. base = models.ForeignKey('self', null=True)
  7. title = models.CharField(blank=True, max_length=255)
  8. when = models.DateTimeField(default=datetime.datetime.now)
  9. def __unicode__(self):
  10. return u"%s (%s, %s)" % (self.title, self.id, self.base.id)
  11. def save(self, *args, **kwargs):
  12. super(RevisionableModel, self).save(*args, **kwargs)
  13. if not self.base:
  14. self.base = self
  15. kwargs.pop('force_insert', None)
  16. kwargs.pop('force_update', None)
  17. super(RevisionableModel, self).save(*args, **kwargs)
  18. def new_revision(self):
  19. new_revision = copy.copy(self)
  20. new_revision.pk = None
  21. return new_revision
  22. class Order(models.Model):
  23. created_by = models.ForeignKey(User)
  24. text = models.TextField()
  25. class TestObject(models.Model):
  26. first = models.CharField(max_length=20)
  27. second = models.CharField(max_length=20)
  28. third = models.CharField(max_length=20)
  29. def __unicode__(self):
  30. return u'TestObject: %s,%s,%s' % (self.first,self.second,self.third)