diff --git a/src/apps/dashboard/models.py b/src/apps/dashboard/models.py index 1ab7882..cc40ed9 100644 --- a/src/apps/dashboard/models.py +++ b/src/apps/dashboard/models.py @@ -1,7 +1,10 @@ from django.db import models +from django.urls import reverse class List(models.Model): - pass + def get_absolute_url(self): + return reverse("view_list", args=[self.id]) + class Item(models.Model): text = models.TextField(default='') diff --git a/src/apps/dashboard/tests/test_models.py b/src/apps/dashboard/tests/test_models.py index 79104a5..0e65abc 100644 --- a/src/apps/dashboard/tests/test_models.py +++ b/src/apps/dashboard/tests/test_models.py @@ -42,3 +42,7 @@ class ListAndItemModelsTest(TestCase): item = Item(list=mylist, text="") with self.assertRaises(ValidationError): item.full_clean() + + def test_get_absolute_url(self): + mylist = List.objects.create() + self.assertEqual(mylist.get_absolute_url(), f"/apps/dashboard/{mylist.id}/") diff --git a/src/apps/dashboard/views.py b/src/apps/dashboard/views.py index 72fe088..c81e35d 100644 --- a/src/apps/dashboard/views.py +++ b/src/apps/dashboard/views.py @@ -15,7 +15,7 @@ def new_list(request): nulist.delete() error = "You can't have an empty list item" return render(request, "apps/dashboard/home.html", {"error": error}) - return redirect(f'/apps/dashboard/{nulist.id}/') + return redirect(nulist) def view_list(request, list_id): our_list = List.objects.get(id=list_id) @@ -26,7 +26,7 @@ def view_list(request, list_id): item = Item(text=request.POST['item_text'], list=our_list) item.full_clean() item.save() - return redirect(f'/apps/dashboard/{our_list.id}/') + return redirect(our_list) except ValidationError: error = "You can't have an empty list item"