from uuid import uuid4 from django.db.models import BigAutoField, DateTimeField, Model, UUIDField from django.utils.translation import gettext_lazy as _ class IdentifierMixin(Model): id = BigAutoField(verbose_name = _("ID"), primary_key = True) uuid = UUIDField(verbose_name = _("UUID"), default = uuid4, editable = False) class Meta: abstract = True class TimeStampMixin(Model): created_at = DateTimeField(verbose_name = _("Created At"), auto_now_add = True) updated_at = DateTimeField(verbose_name = _("Updated At"), auto_now = True) class Meta: abstract = True