I have a form for collecting work experience of an employee. Currently I can add only one experience. I want that if I press a '+' icon or button, same form will be generated under the default form. I dont want to reload page rather I want to do it in a page.
models.py:
class WorkExperience(models.Model):
"""
Stores employee previous work experiences
"""
employee = models.ForeignKey('Employee', related_name='we_employee', on_delete=models.CASCADE, null=True)
previous_company_name = models.CharField(max_length=128, null=True)
job_designation = models.CharField(max_length=128, null=True)
from_date = models.DateField(null=True)
to_date = models.DateField(null=True)
job_description = models.CharField(max_length=256, null=True)
forms.py:
class WorkExperienceForm(forms.ModelForm):
"""
Creates a form for saving employee work experiences
"""
class Meta:
model = WorkExperience
fields = [
'previous_company_name',
'job_designation',
'from_date',
'to_date',
'job_description',
]
widgets = {
'from_date': DatePickerInput(),
'to_date': DatePickerInput(),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
This is my form. I want to add a '+' icon. Everytime user presses the icon, same fields will be generated alongside the default form.