Django formset.is_valid() return false
при работе над django inline formset код formset.is_valid() не работает должным образом
models.py
class product_list(models.Model):
date=models.DateTimeField(auto_now_add=True,null=True)
deal=models.ForeignKey(dealForm, null=True, blank=True , on_delete=models.CASCADE)
pro_name=models.ForeignKey(wareForm, null=True, on_delete=models.CASCADE)
pro_quantity=models.IntegerField()
def __str__(self):
return self.name
в файле views.py файл formset.is_valid() возвращает false. Я думаю, что мой код имеет проблему в определении данных Delivery Formset, но все еще пытаюсь выяснить, что не так в этом коде, также не отображается поле deal в шаблоне views.py
def myproduct(request, pk):
x=wareForm.objects.all()
DeliveryFormSet=inlineformset_factory(dealForm, product_list, fields=('deal','pro_name','pro_quantity'), extra=len(x), can_delete=False)
dealer=dealForm.objects.get(id=pk)
formset=DeliveryFormSet(queryset= product_list.objects.none() , instance=dealer)
#date=datetime.datetime.now().strftime("%d-%m-%y")
if request.method == 'POST':
formset=DeliveryFormSet(request.POST,instance=dealer)
if formset.is_valid():
for f in formset:
print ('testing')
return HttpResponseRedirect('delivery.html')
else:
formset.errors
context={'name':'Product list','formset':formset,'dealer':dealer}
return render(request, 'product.html',context)`
шаблон
{% extends "base.html" %}
{% block content %}
<div class=container>
<div style="text-align: center;">
<h1>Dealer Name: {{dealer.proprietor_name}}</h1>
</div>
<div>
<form action="" method="post">
{% csrf_token %}
{{form.management_form}}
{% for field in formset %}
{{field}}
<hr>
{% endfor %}
<input type="submit" value="Submit" class="btn btn-primary">
</form>
</div>
</div>
{% endblock %}