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