From 848d030b087d133a76059748c4870c84e8d78958 Mon Sep 17 00:00:00 2001 From: westfarn Date: Sat, 12 Jul 2025 16:52:35 +0000 Subject: [PATCH] Update dta_service/core/models.py --- dta_service/core/models.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/dta_service/core/models.py b/dta_service/core/models.py index 3fc7c94..06aa76b 100644 --- a/dta_service/core/models.py +++ b/dta_service/core/models.py @@ -8,6 +8,28 @@ from django.conf import settings import uuid import os +class TimeInfoBase(models.Model): + + created = models.DateTimeField(default=timezone.now) + last_modified = models.DateTimeField(default=timezone.now) + + class Meta: + abstract = True + + def save(self, *args, **kwargs): + if not kwargs.pop("skip_last_modified", False) and not hasattr( + self, "skip_last_modified" +): + self.last_modified = timezone.now() + if kwargs.get("update_fields") is not None: + kwargs["update_fields"] = list( + {*kwargs["update_fields"], "last_modified"} + ) + + super().save(*args, **kwargs) + + + class UserManager(BaseUserManager): def create_user(self, email, password=None, **extra_fields): if not email: