Не отображается одно поле при использовании inlineformset_factory для нескольких форм
Я пишу django webapp, который позволяет мне создавать заказы для клиентов. Я использовал inlineformset_factory, чтобы я мог создать несколько форм в моем шаблоне bootstrap.
Все загружается хорошо, я получаю 10 форм, которые могу заполнить, однако единственное поле, которое не загружается, это поле клиента для выбора из выпадающего меню.
До того, как я изменил его на использование inlineformset_factory, одиночная форма загружалась нормально со всеми полями. Поэтому я не знаю, почему это происходит.
Но даже когда я отправляю форму, независимо от появления поля customer, я получаю ошибку
Кто-нибудь знает почему?
createOrder из views.py
Как вы можете видеть, поля, которые я хочу, 'date', 'client', 'customer', 'country', 'product' но только клиент не отображается! Я получаю 10 форм, но все без клиента.
def createOrder(request):
OrderFormSet = inlineformset_factory(Customer, Order, fields=('date', 'client', 'customer', 'location', 'product'), extra=10 )
formset = OrderFormSet(queryset=Order.objects.none())
#form = OrderForm()
if request.method == 'POST':
#print('Printing POST:',request.POST)
formset = OrderFormSet(request.POST, instance=customer)
if formset.is_valid():
formset.save()
return redirect('/')
context = {'form':formset}
return render(request, 'accounts/order_form.html', context)
Модель клиента из models.py:
class Customer(models.Model):
name = models.CharField(max_length=200, null=True)
phone = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200, null=True)
location= models.CharField(max_length=200, null=True, choices=LOCATION)
date_created = models.DateTimeField(auto_now_add=True, null=True)
def __str__(self):
return self.name
Заказ модели из models.py:
class Order(models.Model):
date = models.DateTimeField(default=timezone.now)
client= models.ForeignKey(Salesperson, null=True, on_delete= models.SET_NULL)
customer = models.ForeignKey(Customer, null=True, on_delete= models.SET_NULL)
location = models.CharField(max_length=200, null=True, choices=LOCATION)
product = models.ForeignKey(Product, null=True, on_delete= models.SET_NULL)
Ошибка при отправке формы
Ошибка предполагает, что он явно видит объект Customer, но он не позволяет мне добавить клиента, так что wtf
Exception Type: ValueError
Exception Value:
save() prohibited to prevent data loss due to unsaved related object 'customer'.