diff --git a/django_tasks/backends/database/models.py b/django_tasks/backends/database/models.py index e70c6af..720157c 100644 --- a/django_tasks/backends/database/models.py +++ b/django_tasks/backends/database/models.py @@ -167,6 +167,7 @@ def task_result(self) -> "TaskResult[T]": object.__setattr__(task_result, "_exception_class", exception_class) object.__setattr__(task_result, "_traceback", self.traceback or None) + object.__setattr__(task_result, "_return_value", self.return_value) return task_result diff --git a/tests/tests/test_database_backend.py b/tests/tests/test_database_backend.py index 25237cc..989e4a8 100644 --- a/tests/tests/test_database_backend.py +++ b/tests/tests/test_database_backend.py @@ -127,6 +127,7 @@ def test_refresh_result(self) -> None: status=ResultStatus.SUCCEEDED, started_at=timezone.now(), finished_at=timezone.now(), + return_value=42, ) self.assertEqual(result.status, ResultStatus.NEW) @@ -139,6 +140,7 @@ def test_refresh_result(self) -> None: self.assertIsNotNone(result.finished_at) self.assertEqual(result.status, ResultStatus.SUCCEEDED) self.assertTrue(result.is_finished) + self.assertEqual(result.return_value, 42) async def test_refresh_result_async(self) -> None: result = await default_task_backend.aenqueue( @@ -149,6 +151,7 @@ async def test_refresh_result_async(self) -> None: status=ResultStatus.SUCCEEDED, started_at=timezone.now(), finished_at=timezone.now(), + return_value=42, ) self.assertEqual(result.status, ResultStatus.NEW) @@ -160,6 +163,7 @@ async def test_refresh_result_async(self) -> None: self.assertIsNotNone(result.finished_at) self.assertEqual(result.status, ResultStatus.SUCCEEDED) self.assertTrue(result.is_finished) + self.assertEqual(result.return_value, 42) def test_get_missing_result(self) -> None: with self.assertRaises(ResultDoesNotExist):