Хотел вывести несколько одинаковых форм, для этого использовал FormSet, но работает не правильно
форма
class OrderForm(forms.ModelForm):
class Meta:
model = Order
exclude = ['DateOrder', 'UserID']
class ProductForm(forms.ModelForm):
class Meta:
model = OrderProductLine
exclude = ['OrderID']
вьюшка
def order_new(request):
if not request.user.is_authenticated():
return HttpResponseRedirect('/preg/login/')
ProductFormSet = formset_factory(ProductForm, extra=3)
if request.method == "POST":
oform = OrderForm(request.POST)
pform = ProductForm(request.POST)
if oform.is_valid() and pform.is_valid():
order = oform.save(commit=False)
order.DateOrder = timezone.now()
order.UserID = request.user.userprofile
order.save()
product = pform.save(commit=False)
product.OrderID = order
product.save()
return redirect('preg:order_detail', order_id=order.id)
else:
oform = OrderForm()
pform = ProductFormSet()
user_list = User.objects.order_by('username')
user_list = len(user_list)
WhoUser=request.user
#num_product =
my_balance = UserProfile.objects.filter(user__username=WhoUser).order_by('balance')
return render(request, 'preg/order_new.html', {'pform': pform})
шаблон
{% extends "preg/base.html" %}
{% block content %}
<div class="order_this_product">
<h1>Заказать</h1>
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
<form method="post" action="">
{% csrf_token %}
{{ pform.as_p}}
<button type="submit" class="save btn btn-default">Save</button>
</form>
</div>
{% endblock %}
когда открываю нужную страницу открывается форма как мне надо:

но после нажатия на кнопку Save появляется так же окно с формой только в виде: 
и после повторного ввода данных сохраняются данные в БД (не как 3 записи, а как одна запись которая соответствует этой последней формы)
в чем тут проблема? (может в случае использовании фабрики форм сохранение происходит другим образом?) связь между Order и OrderProductLine 1 к многим