Added version history to models with the use of a mixin

This commit is contained in:
Tom Price
2014-11-04 03:27:32 +00:00
parent 31488da8b5
commit a7384c1dd2
5 changed files with 29 additions and 7 deletions

View File

@@ -16,8 +16,20 @@ class Profile(AbstractUser):
url = "https://www.gravatar.com/avatar/" + hashlib.md5(self.email).hexdigest() + "?d=identicon&s=500"
return url
class RevisionMixin(object):
@property
def last_edited_at(self):
version = reversion.get_for_object(self)[0]
return version.revision.date_created
@property
def last_edited_by(self):
version = reversion.get_for_object(self)[0]
return version.revision.user
@reversion.register
class Person(models.Model):
class Person(models.Model, RevisionMixin):
name = models.CharField(max_length=50)
phone = models.CharField(max_length=15, blank=True, null=True)
email = models.EmailField(blank=True, null=True)
@@ -30,4 +42,5 @@ class Person(models.Model):
string = self.name
if len(self.notes) > 0:
string += "*"
return string
return string