Джанго отправляет две формы с внешним ключомPython

Программы на Python
Ответить
Anonymous
 Джанго отправляет две формы с внешним ключом

Сообщение Anonymous »

Я пытаюсь отправить две формы в одном шаблоне. При этом один ключ модели является внешним ключом для другой модели. Внешний ключ будет установлен после выполнения POST.

Код: Выделить всё

class CustomerSystem(models.Model):
---Some fields---

class MN(models.Model):
--some fields--
customer_system_serial_number = models.ForeignKey(CustomerSystem, on_delete= models.CASCADE)
Вот как выглядит мой файл models.py

Файл шаблона представляет собой стандартный шаблон с формой. переменная

В form.py я исключил customer_system_serial_number из модели MN.

Это то, что я есть количество просмотров

Код: Выделить всё

@login_required
def add_customers(request):
if request.method == 'POST':
form_cs = CustomerSystemForm(request.POST, prefix='cs')
form_mn = MNForm(request.POST, prefix='mn')
if form_cs.is_valid() and form_mn.is_valid():
model_instance = form_cs.save(commit=False)
model_instance.save()
print(model_instance)
form_mn.customer_system_serial_number = model_instance
form_mn.save()
return HttpResponseRedirect('/database/customers')
else:
form_cs = CustomerSystemForm(request.POST, prefix='cs')
form_mn = MNForm(request.POST, prefix='mn')
return render(request, 'database/customer_system.html', {'form_cs': form_cs, 'form_mn': form_mn})
Ошибка, которую я получаю, — это ошибка целостности/не нулевая ошибка. Я вижу, что model_instance сохраняется, поскольку он печатает действительный объект. Я пытаюсь сделать что-то вроде установки внешнего ключа во время завершения формы (python/django). Однако мне явно не хватает чего-то очень простого. Любая помощь приветствуется

Подробнее здесь: https://stackoverflow.com/questions/503 ... oreign-key
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»