From 3756cad01fe438e6286a3d20a26afd8188f3230a Mon Sep 17 00:00:00 2001 From: relikd Date: Mon, 5 Jun 2023 21:04:00 +0200 Subject: [PATCH] feat: datetime_now for transaction --- .../0003_alter_transaction_time_stamp.py | 19 +++++++++++++++++++ app/base/models/transaction.py | 8 +++++++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 app/base/migrations/0003_alter_transaction_time_stamp.py diff --git a/app/base/migrations/0003_alter_transaction_time_stamp.py b/app/base/migrations/0003_alter_transaction_time_stamp.py new file mode 100644 index 0000000..b878459 --- /dev/null +++ b/app/base/migrations/0003_alter_transaction_time_stamp.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2 on 2023-06-05 18:51 + +import app.base.forms.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0002_alter_booking_begin_time'), + ] + + operations = [ + migrations.AlterField( + model_name='transaction', + name='time_stamp', + field=app.base.forms.fields.DateTimeField(editable=False, verbose_name='Datum / Uhrzeit'), + ), + ] diff --git a/app/base/models/transaction.py b/app/base/models/transaction.py index 211acb5..c36805d 100755 --- a/app/base/models/transaction.py +++ b/app/base/models/transaction.py @@ -2,6 +2,7 @@ from django.db import models from django.urls import reverse from app.base.forms.fields import CurrencyField, DateTimeField +from app.base.forms.utils import datetime_now from app.base.models.account import Account @@ -13,7 +14,7 @@ class Transaction(models.Model): verbose_name='Zugehörige Zeitbuchung', null=True, blank=True, default=None) description = models.CharField('Beschreibung', max_length=500) - time_stamp = DateTimeField('Datum / Uhrzeit', auto_now_add=True) + time_stamp = DateTimeField('Datum / Uhrzeit', editable=False) class Meta: verbose_name = 'Transaktion' @@ -24,3 +25,8 @@ class Transaction(models.Model): def __str__(self): return f'Transaktion über {self.amount}€ von {self.account}' + + def save(self, *args, **kwargs): + if not self.pk: + self.time_stamp = datetime_now() + return super().save(*args, **kwargs)