From 22727d24813d0c6c756fc7f9578775b3ab3d0883 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Thu, 7 Jul 2022 01:00:37 +0200 Subject: [PATCH] Added `created_at` and `updated_at` fields. #4 --- redirects/admin.py | 2 ++ ...redirect_created_at_redirect_updated_at.py | 29 +++++++++++++++++++ redirects/models.py | 14 +++++++++ 3 files changed, 45 insertions(+) create mode 100644 redirects/migrations/0003_redirect_created_at_redirect_updated_at.py diff --git a/redirects/admin.py b/redirects/admin.py index b8dbe1c..0dffe00 100644 --- a/redirects/admin.py +++ b/redirects/admin.py @@ -67,6 +67,8 @@ def test_display(self, obj): "counter", "status_code", "test_display", + "created_at", + "updated_at", ) list_display_links = ("redirect_display",) list_editable = ( diff --git a/redirects/migrations/0003_redirect_created_at_redirect_updated_at.py b/redirects/migrations/0003_redirect_created_at_redirect_updated_at.py new file mode 100644 index 0000000..fed0f31 --- /dev/null +++ b/redirects/migrations/0003_redirect_created_at_redirect_updated_at.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("redirects", "0002_add_priority"), + ] + + operations = [ + migrations.AddField( + model_name="redirect", + name="created_at", + field=models.DateTimeField( + auto_now_add=True, null=True, verbose_name="Created at" + ), + ), + migrations.AddField( + model_name="redirect", + name="updated_at", + field=models.DateTimeField( + auto_now=True, null=True, verbose_name="Updated at" + ), + ), + ] diff --git a/redirects/models.py b/redirects/models.py index 243818a..0908eb1 100644 --- a/redirects/models.py +++ b/redirects/models.py @@ -123,6 +123,20 @@ class Redirect(models.Model): verbose_name=_("Status code"), ) + created_at = models.DateTimeField( + auto_now_add=True, + editable=False, + null=True, + verbose_name=_("Created at"), + ) + + updated_at = models.DateTimeField( + auto_now=True, + editable=False, + null=True, + verbose_name=_("Updated at"), + ) + def _get_response_path_with_match_exact(self, path): if self.old_path.lower() == path.lower(): return self.new_path