fix duplicated tasks were displayed, but they were not.

This commit is contained in:
2020-10-24 18:09:48 +00:00
parent 494d12a98c
commit f79f261b9a

View File

@@ -13,18 +13,19 @@ class TaskQuerySet(models.QuerySet):
class TaskManager(models.Manager): class TaskManager(models.Manager):
def get_tasks(self, user, completed, task_list, all_tasks): def get_tasks(self, user, completed, task_list, all_tasks):
# None ... assigned to all users # 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: 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: if not completed:
qs_comp = qs_comp.filter(completed=completed) qs = qs.filter(completed=completed)
if task_list: 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): def get_queryset(self):
return TaskQuerySet(self.model, using=self._db) return TaskQuerySet(self.model, using=self._db)
@@ -57,15 +58,15 @@ class Task(models.Model):
completed_date = models.DateField(blank=True, null=True) completed_date = models.DateField(blank=True, null=True)
created_by = models.ForeignKey( created_by = models.ForeignKey(
settings.AUTH_USER_MODEL, User,
related_name="todo_created_by", related_name="created_by",
on_delete=models.CASCADE, on_delete=models.CASCADE,
) )
assigned_to = models.ForeignKey( assigned_to = models.ForeignKey(
settings.AUTH_USER_MODEL, User,
blank=True, blank=True,
null=True, null=True,
related_name="todo_assigned_to", related_name="assigned_to",
on_delete=models.CASCADE, on_delete=models.CASCADE,
verbose_name="Zugewiesen an", verbose_name="Zugewiesen an",
) )