diff --git a/expenses_manager/expenses/forms.py b/expenses_manager/expenses/forms.py
index 51df4db..abe8fc1 100644
--- a/expenses_manager/expenses/forms.py
+++ b/expenses_manager/expenses/forms.py
@@ -1,5 +1,5 @@
from django import forms
-from .models import Expense, Category
+from .models import Expense, Category, Tag
class ExpenseForm(forms.ModelForm):
@@ -11,6 +11,7 @@ class ExpenseForm(forms.ModelForm):
if user:
self.fields['category'].queryset = Category.objects.filter(owner=user)
+ self.fields['tags'].queryset = Tag.objects.filter(owner=user)
class Meta:
model = Expense
diff --git a/expenses_manager/expenses/templates/expenses/expense_list.html b/expenses_manager/expenses/templates/expenses/expense_list.html
index 0e37d34..d801772 100644
--- a/expenses_manager/expenses/templates/expenses/expense_list.html
+++ b/expenses_manager/expenses/templates/expenses/expense_list.html
@@ -65,6 +65,7 @@
Fecha |
CategorÃa |
Importe |
+ Etiquetas |
|
@@ -74,6 +75,13 @@
{{ expense.date }} |
{{ expense.category.name }} |
{{ expense.amount }} |
+
+ {% for tag in expenses.tags.all %}
+ {{ tag.name }}{% if not forloop.last %}, {% endif %}
+ {% empty %}
+ -
+ {% endfor %}
+ |
Editar
Eliminar
diff --git a/expenses_manager/expenses/tests/test_expenses.py b/expenses_manager/expenses/tests/test_expenses.py
new file mode 100644
index 0000000..53d4151
--- /dev/null
+++ b/expenses_manager/expenses/tests/test_expenses.py
@@ -0,0 +1,25 @@
+import pytest
+from datetime import date
+from decimal import Decimal
+from django.urls import reverse
+from expenses.models import Expense, Category, Tag
+
+pytestmark = pytest.mark.django_db
+
+def test_expense_can_have_tags(client, django_user_model):
+ user = django_user_model.objects.create_user(username='test', password='1234')
+ client.login(username='test', password='1234')
+
+ tag = Tag.objects.create(name='Food', owner=user)
+ category = Category.objects.create(name='General', owner=user)
+
+ expense = Expense.objects.create(
+ owner=user,
+ category=category,
+ amount=10,
+ date=date.today(),
+ )
+ expense.tags.add(tag)
+
+ assert expense.tags.count() == 1
+ assert tag in expense.tags.all()
\ No newline at end of file
|