Django | Получить список с условием
Модель:
class GameServer(models.Model):
name = models.CharField(max_length=1000)
date_published = models.DateField()
server_open = models.DateField()
max_online = models.IntegerField(default=0)
current_online = models.IntegerField(default=0)
online_game = models.ForeignKey(Game, on_delete=models.CASCADE, related_name='Game')
server_ico = models.ImageField(verbose_name='Лого сервера', null=True, default=None, upload_to='servers_logo',
blank=True)
server_slug = models.SlugField(unique=True, db_index=True, null=True, blank=True, default=None)
SERVERS_NOT_OPEN = []
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
super(GameServer, self).save(*args, **kwargs)
def __str__(self):
return f'{self.online_game} {self.name}'
def get_servers_not_open(self, GameServer):
data = datetime.datetime.today()
server_date = GameServer.date_published
if server_date > data:
self.save()
Вьюшка
class ServersListView(ListView):
template_name = 'browse.html'
model = GameServer
context_object_name = 'server_list'
def get_queryset(self):
qs = self.model.objects.all()
if self.kwargs.get('game_slug'):
qs = self.model.objects.filter(online_game__game_slug=self.kwargs['game_slug'])
check = list(qs)
if not check:
raise Http404
return qs
Задача:
При добавлении сервера можно указать дату его открытия, мне нужно, чтобы в шаблоне был отдельный список серверов, которые еще не открыты, т.е. если сегодня 01.01.22, а сервер открывается 02.01.22, он будет в списке.