From a9fb4ac8213c8131a8a6f7f339d2ba6b341e6cdb Mon Sep 17 00:00:00 2001 From: Leon Sandøy Date: Tue, 14 Jul 2020 14:29:27 +0200 Subject: Add a mixin for adding created and updated times. https://github.com/python-discord/site/issues/305 --- pydis_site/apps/api/models/__init__.py | 2 +- pydis_site/apps/api/models/mixins.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'pydis_site') diff --git a/pydis_site/apps/api/models/__init__.py b/pydis_site/apps/api/models/__init__.py index 644b8757..1c9e1d07 100644 --- a/pydis_site/apps/api/models/__init__.py +++ b/pydis_site/apps/api/models/__init__.py @@ -15,4 +15,4 @@ from .bot import ( User ) from .log_entry import LogEntry -from .mixins import ModelReprMixin +from .mixins import ModelReprMixin, ModelTimestampMixin diff --git a/pydis_site/apps/api/models/mixins.py b/pydis_site/apps/api/models/mixins.py index 0540c4de..942edaa1 100644 --- a/pydis_site/apps/api/models/mixins.py +++ b/pydis_site/apps/api/models/mixins.py @@ -1,5 +1,7 @@ from operator import itemgetter +from django.db import models + class ModelReprMixin: """Mixin providing a `__repr__()` to display model class name and initialisation parameters.""" @@ -15,3 +17,13 @@ class ModelReprMixin: if not attribute.startswith('_') ) return f'<{self.__class__.__name__}({attributes})>' + + +class ModelTimestampMixin(models.Model): + """Mixin providing created_at and updated_at fields.""" + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + class Meta: + abstract = True -- cgit v1.2.3