Это мой взгляд:
@login_required
def ledger1_detail_view(request, pk1, pk2):
company_details = get_object_or_404(company, pk=pk1)
ledger1_details = get_object_or_404(ledger1, pk=pk2)
form_class = DateRangeForm
if request.method == 'POST':
form = form_class(request.POST or None)
if form.is_valid():
start_date = request.POST.get('start_date')
end_date = request.POST.get('end_date')
qs : journal.objects.filter(Q(User=request.user) | Q(Date__range=(form.cleaned_data['start_date'], form.cleaned_data['end_date'])))
return HttpResponseRedirect(ledger1_details.get_absolute_url())
else:
form = DateRangeForm()
context = {
'company_details' : company_details,
'ledger1_details' : ledger1_details,
'journal_list' : qs,
}
return render(request, 'accounting_double_entry/ledger1_details.html', context)
Это мой DaterangeForm:
class DateRangeForm(forms.Form):
start_date = forms.DateField(widget=DateInput())
end_date = forms.DateField(widget=DateInput())
Это моя модель журнала:
class journal(models.Model):
Date = models.DateField()
By = models.ForeignKey(ledger1,on_delete=models.CASCADE,related_name='Debitledgers')
To = models.ForeignKey(ledger1,on_delete=models.CASCADE,related_name='Creditledgers')
Debit = models.DecimalField(max_digits=10,decimal_places=2)
Credit = models.DecimalField(max_digits=10,decimal_places=2)
Я хочу отфильтроватьобъекты журнала в ledger1_detail_view для определенного диапазона дат ... Итак, я создал форму с именем «Daterangeform», которая может фильтровать объекты журнала, где «Date» объектов журнала находится между «start_date» и «end_date» Daterangeform, которыебудет предоставлен пользователем в соответствии с его выбором ...
Я сделал некоторую проверку формы в моем "ledger1_detail_view", как вы можете видеть ... Но получаю эту ошибку "UnboundLocalError: локальная переменная" qs "ссылаетсяперед заданием "
Может кто-нибудь помочь мне в этом?
Спасибо