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 Meta: abstract = True
[docs]class AbstractTimeStampModel(AbstractModel):
[docs] class Meta: abstract = True
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()