From da619897e132c55554c7ee624ea1ef21e497260b Mon Sep 17 00:00:00 2001 From: Egor Matveev Date: Thu, 3 Feb 2022 00:20:07 +0300 Subject: [PATCH] set access --- Main/models/group.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Main/models/group.py b/Main/models/group.py index d1701c5..8d87989 100644 --- a/Main/models/group.py +++ b/Main/models/group.py @@ -1,6 +1,7 @@ from django.contrib.auth.models import User from django.contrib.postgres.fields import ArrayField from django.db import models +from django.db.models import Q from django.utils import timezone from Main.models.set import Set @@ -10,9 +11,13 @@ class Group(models.Model): name = models.TextField() sets = models.ManyToManyField(Set) creator = models.ForeignKey(User, null=True, on_delete=models.SET_NULL) - users = models.ManyToManyField(User, related_name='user_groups') + users = models.ManyToManyField(User, related_name="user_groups") editors = ArrayField(models.TextField(), default=list) @property def available_sets(self): - return self.sets.filter(opened=True, start_time__lte=timezone.now(), end_time__gte=timezone.now()) + return self.sets.filter( + Q(opened=True) + & (Q(start_time__isnull=True) | Q(start_time__lte=timezone.now())) + & (Q(end_time__isnull=True) | Q(end_time__lte=timezone.now())) + )