diff --git a/fet2020/tasks/models.py b/fet2020/tasks/models.py index ab4e5615..932decb8 100644 --- a/fet2020/tasks/models.py +++ b/fet2020/tasks/models.py @@ -13,18 +13,19 @@ class TaskQuerySet(models.QuerySet): class TaskManager(models.Manager): def get_tasks(self, user, completed, task_list, all_tasks): # None ... assigned to all users - qs_comp = self.get_queryset().get_ordered().filter(assigned_to=user) + qs = self.get_queryset().get_ordered().filter(assigned_to__id=user) if all_tasks: - qs_comp |= self.get_queryset().get_ordered().filter(Q(assigned_to=None) & Q(task_list__users=user)) + qs_tmp = self.get_queryset().get_ordered().filter(Q(assigned_to=None) & Q(task_list__users__id__exact=user)) + qs = (qs | qs_tmp).distinct() if not completed: - qs_comp = qs_comp.filter(completed=completed) + qs = qs.filter(completed=completed) if task_list: - qs_comp = qs_comp.filter(task_list=task_list) + qs = qs.filter(task_list=task_list) - return qs_comp + return qs def get_queryset(self): return TaskQuerySet(self.model, using=self._db) @@ -57,15 +58,15 @@ class Task(models.Model): completed_date = models.DateField(blank=True, null=True) created_by = models.ForeignKey( - settings.AUTH_USER_MODEL, - related_name="todo_created_by", + User, + related_name="created_by", on_delete=models.CASCADE, ) assigned_to = models.ForeignKey( - settings.AUTH_USER_MODEL, + User, blank=True, null=True, - related_name="todo_assigned_to", + related_name="assigned_to", on_delete=models.CASCADE, verbose_name="Zugewiesen an", )