Как сделать фильтрацию по времени в django, если начало и конец периоды вводятся в HTML
1)Пользователь указывает дату начала и конца, должны выйти данные из бд (downloaded) соответствующие заданому периоду.
HTML
<div class="form-group">
<label>До: </label>
<input type="date" id="date" name="dateSTART"/>
<label>После: </label>
<input type="date" id="date" name="dateEND"/>
</div>
<div class="general-container">
<div class="container top-container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<table class="table is-fullwidth is-hoverable">
<tr>Данные за последние сутки</tr>
<tr>
<th>Имя файла</th><th>Размер файла, Мб</th><th>Дата принятия</th><th>ID оператора в облаке</th> <th>Маршрут</th>
</tr>
{% for Datapack in Datapacks %}
<tr>
<td><div>{{Datapack.filename }}</div> </td>
<td><div>{{Datapack.size}}</div></td>
<td><div>{{Datapack.downloaded}}</div></td>
<td><div>{{Datapack.uploader_ycid}}</div></td>
<td><div>{{Datapack.route}}</div></td>
</tr>
</thead>
{% endfor %}
Views.py
from django.shortcuts import render
from isist.models import Datapack
from django.utils import timezone
from datetime import timedelta
def index(request):
one_day_ago = timezone.now() - timedelta(days=10)
Datapacks = Datapack.objects.filter(downloaded__gte=one_day_ago)
return render (request, 'otchet/otchet.html', {'Datapacks': Datapacks })
Models.py
class Datapack(models.Model):
code = models.UUIDField(
auto_created=True, default=uuid.uuid4, unique=True, editable=False
)
filename = models.CharField("Имя файла", max_length=200)
location = models.CharField("Расположение на диске", max_length=1000, blank=True, null=True)
size = models.BigIntegerField("Размер файла, байт", blank=True, null=True)
downloaded = models.DateTimeField("Дата принятия", blank=True, null=True)
uploader = models.UUIDField(blank=True, null=True)
route = models.ForeignKey(GTRoute, on_delete=models.PROTECT, blank=True, null=True, db_column="route", )
uploader_ycid = models.CharField(max_length=20, blank=True, null=True)
scanner = models.ForeignKey(
Scanner, on_delete=models.PROTECT, blank=True, null=True
)
def __str__(self):
return self.filename
class Meta:
verbose_name = "Принятые данные"
verbose_name_plural = "Принятые данные"