Мне нужно сохранить новую запись из экземпляра exitsing встроенного набора форм. Мне удалось сохранить новый экземпляр из родительской модели (Order
), но я не могу понять, как сохранить новый экземпляр набора форм. Код выглядит так:Сохраните новую запись из экземпляра формы
def order(request, date):
edit = Order.objects.get(date=date, user=None)
edit_formset = modelformset_factory(Order_items, fields='__all__', extra=0)
if request.method == 'POST':
form = OrderForm(request.POST, instance=edit)
formset = edit_formset(request.POST, queryset=Order_items.objects.filter(order__date=date))
if form.is_valid():
instance = form.save(commit=False)
instance.pk = None
instance.user_id = request.user.id
if formset.is_valid():
form.save()
formset.save()
return HttpResponseRedirect('order')
else:
form = OrderForm(instance=edit)
formset = edit_formset(queryset=Order_items.objects.filter(order__date=date))
return render(request, 'diner/order.html', {'edit': edit, 'form': form, 'formset': formset})
Не уверен, что вы имеете в виду о «новом экземпляре formset», так как точка formset является то, что она содержит множество форм. Но что не так с кодом, который вы поставили? Что он делает, чего вы не ожидаете, или не делаете того, что ожидаете? Какие ошибки вы получаете? –
Мне нужно отредактировать существующую запись и сохранить новую. Проблема в том, что код сохраняет новую запись таблицы Order, но не создает новую в Order_items. – ZmuA
Предположительно 'formet_is_valid()' False, но вы все же перенаправляете в этом случае. –