Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # views.py
- @login_required
- def create_payment(request):
- user = request.user
- if not user.vehicle_set.all():
- return redirect("vehicle_auth_send")
- else:
- if request.method == 'POST':
- form = PaymentForm(user=user, data=request.POST)
- if form.is_valid():
- form.save()
- return redirect('home')
- else:
- form = PaymentForm(user=user)
- return render(request, 'forms.html', {'form': form})
- #forms.py
- class PaymentForm(forms.ModelForm):
- class Meta:
- model = Payment
- def __init__(self, user=None, *args, **kwargs):
- super(PaymentForm, self).__init__(*args, **kwargs)
- # pass in user and override queryset for ModelChoiceField
- self._user = user
- vehicles = self._user.vehicle_set.all().prefetch_related('ticket_set')
- ticket_list= []
- for i in vehicles:
- for j in i.ticket_set.all():
- if j.sum_outstanding():
- ticket_list.append(j.pk)
- self.ticket_queryset = Ticket.objects.filter(pk__in=ticket_list)
- self.fields['ticket'].queryset = self.ticket_queryset
- def save(self, commit=True):
- instance = super(PaymentForm, self).save(commit=False)
- instance.user = self._user
- if commit:
- instance.save()
- return instance
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement