У меня есть одна форма и один набор форм на одной странице. До того, как я удалил информацию из django admin, я мог видеть и форму, и набор форм. После того как я удалил некоторую информацию о пациенте и обновил свой css файл, набор форм перестал отображаться.
views.py
def patient_new(request):
patientForm = PatientForm()
formset = LocationFormSet()
if request.method == "POST":
patientForm = PatientForm(request.POST)
formset = LocationFormSet(request.POST)
if patientForm.is_valid() and formset.is_valid():
patient = patientForm.save(commit=True)
for form in formset:
location = form.save(commit=False)
location.patient = patient
location.save()
return index(request)
else:
print('ERROR FORM INVALID')
return render(request, 'covidapp/patient_new.html',{'patientForm':patientForm, 'formset':formset})
html file
<form class="form-horizontal" method="POST">
{% csrf_token %}
<div class="jumbotron">
<div class="row spacer">
<div class="col-2">
<div class="input-group">
{{ patientForm.as_p }}
</div>
</div>
</div>
{{ formset.management_form }}
{% for form in formset %}
<div class="row form-row spacer">
<div class="col-6">
<div class="input-group">
{{ form.as_p }}
<div class="input-group-append">
<button type="button" class="btn btn-success add-form-row">+</button>
</div>
</div>
</div>
</div>
{% endfor %}
<div class="row spacer">
<div class="col-4 offset-2"></div>
<button type="submit" class="btn btn-block btn-primary">Create</button>
</div>
</div>
</form>
html output
Я не уверен, должен ли скрытый ввод быть моей формой и почему он скрыт.
model.py
class Patient(models.Model):
name = models.CharField(max_length=200)
idn = models.IntegerField(unique=True)
date_of_birth = models.DateField()
date_of_confirm = models.DateField()
case_number = models.IntegerField()
def get_absolute_url(self):
return reverse("patient_detail", kwargs={'pk':self.pk})
def __str__(self):
return self.name
class Location(models.Model):
patient = models.ForeignKey(Patient, related_name='locations', on_delete=models.CASCADE)
location_name = models.CharField(max_length=50, null=True)
address = models.CharField(max_length=300, null=True)
grid_x = models.IntegerField(null=True)
grid_y = models.IntegerField(null=True)
date_from = models.DateField(null=True)
date_to = models.DateField(null=True)
details = models.CharField(max_length=300, null=True)
category = models.CharField(max_length=300, null=True)
def __str__(self):
return self.location_name
form.py
class PatientForm(forms.ModelForm):
class Meta:
model = Patient
fields = '__all__'
LocationFormSet = modelformset_factory(
Location,
extra=0,
exclude = ('patient',)
)