Source code for apps.core.models.abstract_models
import uuid
from django.db import models
from django.utils import timezone
[docs]class AbstractModel(models.Model):
id = models.UUIDField(
primary_key=True, default=uuid.uuid4, editable=False, unique=True
)
[docs]class AbstractTimeStampModel(AbstractModel):
deleted_at = models.DateTimeField(null=True, blank=True)
updated_at = models.DateTimeField(auto_now=True)
created_at = models.DateTimeField(auto_now_add=True)
[docs] def soft_delete(self):
self.deleted_at = timezone.now()
self.save()
[docs] def hard_delete(self):
super().delete()