Remove duplicate RevisionMixin

This commit is contained in:
2022-01-24 21:06:43 +00:00
parent 79c90ac92c
commit f243a589fa
3 changed files with 4 additions and 35 deletions

View File

@@ -17,6 +17,7 @@ from django.utils import timezone
from django.utils.functional import cached_property
from reversion import revisions as reversion
from reversion.models import Version
from versioning.versioning import RevisionMixin
class Profile(AbstractUser):
@@ -69,39 +70,6 @@ class Profile(AbstractUser):
return self.name
class RevisionMixin:
@property
def is_first_version(self):
versions = Version.objects.get_for_object(self)
return len(versions) == 1
@property
def current_version(self):
version = Version.objects.get_for_object(self).select_related('revision').first()
return version
@property
def last_edited_at(self):
version = self.current_version
if version is None:
return None
return version.revision.date_created
@property
def last_edited_by(self):
version = self.current_version
if version is None:
return None
return version.revision.user
@property
def current_version_id(self):
version = self.current_version
if version is None:
return None
return f"V{version.pk} | R{version.revision.pk}"
class Person(models.Model, RevisionMixin):
name = models.CharField(max_length=50)
phone = models.CharField(max_length=15, blank=True, default='')