Как через одну форму создать «Категорию» и запись в этой категории?
Делаю сайт на django по ведению и управлению заявок Есть две модели: "Заявка"
class Request(models.Model):
id_request = models.AutoField(primary_key=True)
status = models.CharField(default="Подписание" , max_length=20)
nomer_request = models.IntegerField(blank=True)
data_request = models.DateField()
person_request = models.CharField(max_length=45)
def __str__(self):
return str(self.nomer_request)
и "Материалы заявки"
class Request_material(models.Model):
id_request = models.ForeignKey(Request, on_delete=models.CASCADE)
status = models.CharField(default="Подписание" , max_length=20)
name = models.CharField(max_length=200)
mnemokod_SAP = models.IntegerField()
ed_izm = models.CharField(max_length=10)
priznak_rem = models.BooleanField()
price = models.IntegerField()
colvo_request = models.IntegerField()
prihod = models.DateField(null=True, blank=True)
spisan = models.DateField (null=True, blank=True)
def __str__(self):
return self.name
Вопрос связан с формой создания заявки. Как сохранить и связать эти данные.
То есть в результате я планирую получить форму, где в рамках одной формы можно будет создать заявку по модели Request и в этой же форме добавить материалы заявки по модели Request_material и их соединить связью один-ко-многим с самой заявкой...
Буду благодарна за разъяснения
Ответы (1 шт):
Автор решения: Sherlock
→ Ссылка
Вы можете отобразить обе формы:
class RequestForm(ModelForm):
class Meta:
model = Request
fields = ("status", "nomer_request", ...)
class RequestMaterialForm(ModelForm):
class Meta:
model = Request
fields = ("status", "name", ...)
html:
<form method='POST'>
{% csrf_token %}
{{ request_form.as_p }}
{{ requestmaterial_form.as_p }}
</form>
views:
if request.method == 'POST':
requestform = RequestForm(request.POST)
materialform = RequesMaterialtForm(request.POST)
if requestform.is_valid() and materialform.is_valid():
req = requestform.save()
materialform.save(commit=False)
materialform.id_request = req
meterialform.save()