Dica 15 - Busca por data no frontend
Considere um template com os campos:
<input class="form-control" name='start_date' type="date">
<input class="form-control" name='end_date' type="date">
Em views.py
basta fazer:
def article_list(request):
template_name = 'core/article_list.html'
object_list = Article.objects.all()
start_date = request.GET.get('start_date')
end_date = request.GET.get('end_date')
if start_date and end_date:
# Converte em data e adiciona um dia.
end_date = parse(end_date) + timedelta(1)
object_list = object_list.filter(
published_date__range=[start_date, end_date]
)
context = {'object_list': object_list}
return render(request, template_name, context)
Pra não precisar fazer o
end_date = parse(end_date) + timedelta(1)
basta acrescentar date
antes do range
, dai fica assim:
object_list = object_list.filter(
published_date__date__range=[start_date, end_date]
)
Agradecimentos a @walisonfilipe
Last updated
Was this helpful?