Как отфильтровать дату в представлениях django?(Не показывает просроченный)

#python #python-3.x #django #django-models #django-views

Вопрос:

models.py

 class Dibbs_Fields(models.Model):
    hash = models.CharField(max_length=16)
    nsn = models.CharField(max_length=32)
    nomenclature = models.TextField()
    technical_documents = models.TextField()
    return_by = models.DateField()
 

Как отфильтровать этот класс в представлениях django в соответствии с датой return_by ? Я не хочу показывать данные, срок действия которых истек, т. Е. Если return_by дата раньше сегодняшней даты, то она не должна отображаться.

Ответ №1:

Вы можете сделать это:

 from datetime import date

def func(request):
   today = date.today()
   data = Dibbs_Fields.objects.filter(
               return_by__lt=today)
   
 

Код просто возвращает данные ранее сегодняшней даты.

Редактировать

 return_by__lt # less than
return_by__gt # greater than
return_by__gte # greater than or equal to
return_by__lte # less than or equal to
 

Комментарии:

1. Мне нужны данные, которые не ранее сегодняшней даты.

2. Затем вы можете перейти lt на gt .