У меня есть RoastManifest View, который запрашивает date_scheduled (поле из моей модели RoastManifest) и возвращает различные значения. Я передаю этот набор запросов в шаблон, перебираю значения и представляю их в виде кнопок в файле HTML. Я могу нажать любую кнопку и передать соответствующую дату в URL ((localhost / schedule / 2019-06-20), когда я нажимаю кнопку 20 июня 2019 г.), перенаправляя меня к моему RoastManifestDetailView. Теперь я хочу иметь возможность фильтровать мой RoastManifestDetailView только по дате, переданной URL-адресу (или по дате нажатия кнопки).
Я пытался RoastManifest.obejects.filter(date_scheduled__date=date.today())
просто чтобы посмотреть, смогу ли я вернуть что-нибудь на сегодня расписание, но я продолжаю получать Fielderrors (Неподдерживаемый поиск 'date' для DateField или присоединение к полю недопустимо.). Обратите внимание, я знаю, что это не точный набор запросов для меня. Я хочу передать переменную в набор запросов.
Это модель:
(ПРИМЕЧАНИЕ: roast_order присутствует только для использования библиотеки adminsortable2)
class RoastManifest(models.Model):
def batch_number_incrementer():
current_max = RoastManifest.objects.order_by('-batch_number').first()
if current_max:
return current_max.batch_number + 1
else:
return 8000000
batch_number = models.IntegerField(unique=True,
default=batch_number_incrementer,
)
product = models.ForeignKey(Product, related_name="products",
on_delete=models.PROTECT)
date_scheduled = models.DateField()
roaster_profile = models.ForeignKey(RoasterProfile,
on_delete=models.PROTECT)
roast_order = models.PositiveSmallIntegerField(default=0, blank=False, null=False)
class Meta:
ordering = ('roast_order',)
Вот как я выбираю запланированные дни:
class RoastManifestListView(ListView):
model = RoastManifest
template_name = 'schedule/scheduled_days.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['days'] = RoastManifest.objects.order_by('date_scheduled').values('date_scheduled').distinct()
return context
Это точка зрения, с которой у меня проблемы:
class RoastManifestDetailView(TemplateView):
template_name = 'schedule/roastmanifest_list.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["roasts"] = RoastManifest.objects.get(date_scheduled__date=date.today())
return context
Я хочу иметь возможность щелкнуть день (кнопку) и передать эту дату в запрос, возвращая, таким образом, все, запланированное на этот конкретный день.
С вышеупомянутым RoastManifestDetailView я в настоящее время получаю FieldError