From 090f1a3a5c716d3752a7d428add49f8061eff64f Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Thu, 2 Jan 2025 14:05:08 +0100 Subject: [PATCH] Fix #21 --- .../0004_remove_transaction_account.py | 16 ++++++++++++++++ nummi/transaction/models.py | 16 +++------------- 2 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 nummi/transaction/migrations/0004_remove_transaction_account.py diff --git a/nummi/transaction/migrations/0004_remove_transaction_account.py b/nummi/transaction/migrations/0004_remove_transaction_account.py new file mode 100644 index 0000000..0e6a7b9 --- /dev/null +++ b/nummi/transaction/migrations/0004_remove_transaction_account.py @@ -0,0 +1,16 @@ +# Generated by Django 4.2 on 2025-01-02 13:03 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("transaction", "0003_alter_transaction_account_and_more"), + ] + + operations = [ + migrations.RemoveField( + model_name="transaction", + name="account", + ), + ] diff --git a/nummi/transaction/models.py b/nummi/transaction/models.py index f831f22..0fb8dd8 100644 --- a/nummi/transaction/models.py +++ b/nummi/transaction/models.py @@ -2,7 +2,6 @@ import datetime from pathlib import Path from uuid import uuid4 -from account.models import Account from category.models import Category from django.core.validators import FileExtensionValidator from django.db import models @@ -44,22 +43,12 @@ class Transaction(UserModel): null=True, verbose_name=_("Statement"), ) - account = models.ForeignKey( - Account, - on_delete=models.CASCADE, - blank=True, - null=True, - verbose_name=_("Account"), - editable=False, - ) def save(self, *args, **kwargs): if Transaction.objects.filter(pk=self.pk): prev_self = Transaction.objects.get(pk=self.pk) else: prev_self = None - if self.statement: - self.account = self.statement.account super().save(*args, **kwargs) if prev_self is not None and prev_self.statement: prev_self.statement.update_sum() @@ -76,8 +65,9 @@ class Transaction(UserModel): return reverse("del_transaction", args=(self.pk,)) @property - def invoices(self): - return Invoice.objects.filter(transaction=self) + def account(self): + if self.statement: + return self.statement.account @property def has_invoice(self):