Как я могу получить объекты Django, дата которых не прошла

Я работаю над проектом Django, в котором я хочу получить все билеты на события, дата события которых не прошла. То есть, у меня есть таблица событий с некоторыми полями, среди которых есть дата, и каждый билет привязан к событию, и мне нужна ситуация, когда я могу отобразить список билетов, у которых событие не прошло текущую дату. Например, если событие День Рождения имеет дату 12/09/2022 и билет был создан на это событие, то к сегодняшнему дню (13/09/2022) это событие не должно быть в списке для создания билетов.

Я пытался разобраться с этим, но не смог заставить его работать так, как я объяснил выше, возможно, я что-то упускаю. Вот код моих моделей:

class Event(models.Model):
    event_name = models.CharField(max_length=100)
    date = models.DateField(auto_now_add=False, auto_now=False, null=False)
    event_venue = models.CharField(max_length=200)
    event_logo = models.ImageField(default='avatar.jpg', blank=False, null=False, upload_to ='profile_images')
    added_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"{self.event_name}"

    #Prepare the url path for the Model
    def get_absolute_url(self):
        return reverse("event_detail", args=[str(self.id)])

class Ticket(models.Model):
    event = models.ForeignKey(Event, on_delete=models.CASCADE)
    price = models.PositiveIntegerField()
    category = models.CharField(max_length=100, choices=PASS, default=None, blank=True, null=True)
    added_date = models.DateField(auto_now_add=True)

    def __str__(self):
        return f"{self.event} "

    #Prepare the url path for the Model
    def get_absolute_url(self):
        return reverse("ticket-detail", args=[str(self.id)])

Вот мой код представления:

def Ticket_list(request):


    tickets = Ticket.objects.filter(event__date__lte=datetime.today())
    context = {
    'tickets':tickets,
    }
    return render(request, 'user/ticket_list.html', context)

Ваш ответ будет высоко оценен. спасибо

Вернуться на верх