Я новичок в Django и пытаюсь создать сайт-резюме. Я использую Django WizardForms, чтобы пользователи могли поэтапно составлять свое резюме. В форме обучения пользователи могут добавить до 5 различных школ, в которых они учились. (Используя кнопку + Добавить поля, которую я реализовал с помощью JavaScript)
Это правильный способ записать все поля в models.py и forms.py ? Я уверен, что должен быть более чистый способ сделать это, а не отдельно перечислять все поля и различать их числом в конце.
Я просмотрел Django FormSets, но не уверен, как я будет использовать это с Django WizardForms.
Спасибо
models.py
class Profile(models.Model):
education_school = models.CharField(max_length=500, null=True, blank=True)
education_degree = models.CharField(max_length=500, null=True, blank=True)
education_field = models.CharField(max_length=100, null=True, blank=True)
education_start = models.CharField(max_length=100, null=True, blank=True)
education_end = models.CharField(max_length=100, null=True, blank=True)
education_grade = models.TextField(null=True, blank=True)
education_description = models.TextField(null=True, blank=True)
education_school2 = models.CharField(max_length=500, null=True, blank=True)
education_degree2 = models.CharField(max_length=500, null=True, blank=True)
education_field2 = models.CharField(max_length=100, null=True, blank=True)
education_start2 = models.CharField(max_length=100, null=True, blank=True)
education_end2 = models.CharField(max_length=100, null=True, blank=True)
education_grade2 = models.TextField(null=True, blank=True)
education_description2 = models.TextField(null=True, blank=True)
education_school3 = models.CharField(max_length=500, null=True, blank=True)
education_degree3 = models.CharField(max_length=500, null=True, blank=True)
education_field3 = models.CharField(max_length=100, null=True, blank=True)
education_start3 = models.CharField(max_length=100, null=True, blank=True)
education_end3 = models.CharField(max_length=100, null=True, blank=True)
education_grade3 = models.TextField(null=True, blank=True)
education_description3 = models.TextField(null=True, blank=True)
education_school4 = models.CharField(max_length=500, null=True, blank=True)
education_degree4 = models.CharField(max_length=500, null=True, blank=True)
education_field4 = models.CharField(max_length=100, null=True, blank=True)
education_start4 = models.CharField(max_length=100, null=True, blank=True)
education_end4 = models.CharField(max_length=100, null=True, blank=True)
education_grade4 = models.TextField(null=True, blank=True)
education_description4 = models.TextField(null=True, blank=True)
education_school5 = models.CharField(max_length=500, null=True, blank=True)
education_degree5 = models.CharField(max_length=500, null=True, blank=True)
education_field5 = models.CharField(max_length=100, null=True, blank=True)
education_start5 = models.CharField(max_length=100, null=True, blank=True)
education_end5 = models.CharField(max_length=100, null=True, blank=True)
education_grade5 = models.TextField(null=True, blank=True)
education_description5 = models.TextField(null=True, blank=True)
forms.py
class ProfileFour(forms.Form):
education_school = forms.CharField()
education_degree = forms.CharField()
education_field = forms.CharField()
education_start = forms.ChoiceField(choices=years)
education_end = forms.ChoiceField(choices=years)
education_grade = forms.CharField(widget=forms.Textarea)
education_description = forms.CharField(widget=forms.Textarea)
education_school2 = forms.CharField()
education_degree2 = forms.CharField()
education_field2 = forms.CharField()
education_start2 = forms.ChoiceField(choices=years)
education_end2 = forms.ChoiceField(choices=years)
education_grade2 = forms.CharField(widget=forms.Textarea)
education_description2 = forms.CharField(widget=forms.Textarea)
education_school3 = forms.CharField()
education_degree3 = forms.CharField()
education_field3 = forms.CharField()
education_start3 = forms.ChoiceField(choices=years)
education_end3 = forms.ChoiceField(choices=years)
education_grade3 = forms.CharField(widget=forms.Textarea)
education_description3 = forms.CharField(widget=forms.Textarea)
education_school4 = forms.CharField()
education_degree4 = forms.CharField()
education_field4 = forms.CharField()
education_start4 = forms.ChoiceField(choices=years)
education_end4 = forms.ChoiceField(choices=years)
education_grade4 = forms.CharField(widget=forms.Textarea)
education_description4 = forms.CharField(widget=forms.Textarea)
education_school5 = forms.CharField()
education_degree5 = forms.CharField()
education_field5 = forms.CharField()
education_start5 = forms.ChoiceField(choices=years)
education_end5 = forms.ChoiceField(choices=years)
education_grade5 = forms.CharField(widget=forms.Textarea)
education_description5 = forms.CharField(widget=forms.Textarea)