слишком много значений для распаковки (ожидается 2), когда я использую filter ()

-1

У меня есть проект в django 1.8, и я хочу извлечь поле date_start чтобы получить год, а затем создать диапазон в каком году произойдет событие. Затем передайте все в SelectDateWidget в форме:

date_start = forms.DateField(widget=SelectDateWidget(years=range(1980, 2018)))

Но я понял: too many values to unpack (expected 2)

Вот проблематичная часть моего кода:

context['years'] = models.Booking.objects.filter('date_start')

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

class BookingListView(ListView, FormView):
    model = models.Booking
    form_class = BookingForm
    queryset = models.Booking.objects.order_by('-date_start')
    paginate_by = 80
    template_name = 'events/archive_list.html'
    context_object_name = 'object_list'
    date_field = 'date_start'
    allow_future = True

    def get_context_data(self, **kwargs):
        context = super(BookingListView, self).get_context_data(**kwargs)
        context['mode'] = 'archive'
        context['form'] = BookingForm()
        context['years'] = models.Booking.objects.filter('date_start')
        print(context['years'])
        return context
  • 0
    включить в вопрос полную трассировку ошибок
  • 0
    Если вы не отправите полный отчет об ошибке, никто не сможет вам помочь, просто взглянув на 2 строки кода и одну возможную строку ошибки, не связанную с каким-либо номером строки / вызовом функции / значением параметра и т. Д.
Показать ещё 1 комментарий
Теги:
date
filter
django-queryset

1 ответ

1

Вы используете строку "date_start" вместо переменной date_start. Измените свой код на это, и он должен работать.

context['years'] = models.Booking.objects.filter(date_start)
  • 0
    Действительно, как это должно работать с .filter ?
  • 1
    для меня не работает
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню