Hello,
I have a challenge using the modelformset_factory module (https://docs.djangoproject.com/en/3.2/topics/forms/modelforms/) and invite your advice.
I can automatically generate a pre-populated webpage with a select dataset from the database, but the generated template creates two sets of fields on my form. One entry has the pre-populated dataset, while the second set is blank.
(tickets) michael@Data-Wrangler tickets % pip freeze
asgiref==3.5.2
backports.zoneinfo==0.2.1
certifi==2022.6.15
charset-normalizer==2.0.12
crispy-bootstrap5==0.6
Django==3.2.13
django-cors-headers==3.10.1
Django-crispy-forms==1.14.0
django-webpack-loader==1.6.0
djangorestframework==3.13.1
idna==3.3
image==1.5.33
importlib-resources==5.4.0
pdfkit==1.0.0
phonenumbers==8.12.51
Pillow==9.2.0
PyQRCode==1.2.1
pytz==2022.1
requests==2.27.1
six==1.16.0
sqlparse==0.4.2
typing_extensions==4.1.1
urllib3==1.26.9
uWSGI==2.0.20
zipp==3.6.0
(tickets) michael@Data-Wrangler tickets %
<div class="multiField">
<div id="div_id_form-0-name" class="mb-3"> <label for="id_form-0-name" class="form-label">
Name
</label> <input type="text" name="form-0-name" value="BERNACHE BEACH SHOW" maxlength="1000" class="textinput textInput form-control" id="id_form-0-name"> <small id="hint_id_form-0-name" class="form-text text-muted">Full name of the event</small> </div> <div id="div_id_form-0-image" class="mb-3"> <label for="id_form-0-image" class="form-label">
Image
</label> <div class=" mb-2"> <div class="input-group mb-2"> <span class="input-group-text">Currently</span> <div class="form-control d-flex h-auto"> <span class="text-break" style="flex-grow:1;min-width:0"> <a href="/uploads/store/bernache_VfSjPGz.jpg">store/bernache_VfSjPGz.jpg</a> </span> <span class="align-self-center ml-2"> <span class="form-check"> <input type="checkbox" name="form-0-image-clear" id="form-0-image-clear_id" class="form-check-input" > <label class="form-check-label mb-0" for="form-0-image-clear_id">Clear</label> </span> </span> </div>
</div>
<div> <input type="file" name="form-0-image" class="form-control" accept="image/*" id="id_form-0-image"> </div>
</div> </div> <div class="mb-3"> <div id="div_id_form-0-visible" class="mb-3"> <input type="checkbox" name="form-0-visible" class="checkboxinput form-check-input" id="id_form-0-visible" checked> <label for="id_form-0-visible" class="form-check-label">
Visible
</label> <small id="hint_id_form-0-visible" class="form-text text-muted">Select this field to activate this event on the home page</small> </div> </div> <div id="div_id_form-0-brief" class="mb-3"> <label for="id_form-0-brief" class="form-label">
Brief
</label> <input type="text" name="form-0-brief" value="BEACH PARTY" maxlength="200" class="textinput textInput form-control" id="id_form-0-brief"> <small id="hint_id_form-0-brief" class="form-text text-muted">A brief description of the event</small> </div> <div id="div_id_form-0-details" class="mb-3"> <label for="id_form-0-details" class="form-label">
Details
</label> <textarea name="form-0-details" cols="40" rows="10" class="textarea form-control" id="id_form-0-details">
Dress code - All White. To a new year</textarea> <small id="hint_id_form-0-details" class="form-text text-muted">Separate each line with a fullstop and leave the last line empty</small> </div> <div id="div_id_form-0-venue" class="mb-3"> <label for="id_form-0-venue" class="form-label">
Venue
</label> <input type="text" name="form-0-venue" value="Port louis" maxlength="200" class="textinput textInput form-control" id="id_form-0-venue"> </div> <div id="div_id_form-0-date" class="mb-3"> <label for="id_form-0-date" class="form-label requiredField">
Date<span class="asteriskField">*</span> </label> <input type="text" name="form-0-date" value="2023-01-01" class="dateinput form-control" id="id_form-0-date"><input type="hidden" name="initial-form-0-date" value="2023-01-01" id="initial-form-0-id_form-0-date"> </div> <div id="div_id_form-0-time" class="mb-3"> <label for="id_form-0-time" class="form-label">
Time
</label> <input type="text" name="form-0-time" value="2100H" maxlength="20" class="textinput textInput form-control" id="id_form-0-time"> </div> <div id="div_id_form-0-promoters" class="mb-3"> <label for="id_form-0-promoters" class="form-label">
Promoters
</label> <input type="text" name="form-0-promoters" value="Live & Direk Entertainment" maxlength="200" class="textinput textInput form-control" id="id_form-0-promoters"> </div> <div id="div_id_form-0-advance_ticket" class="mb-3"> <label for="id_form-0-advance_ticket" class="form-label requiredField">
Advance ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-0-advance_ticket" value="0" min="0" class="numberinput form-control" id="id_form-0-advance_ticket"> </div> <div id="div_id_form-0-gate_ticket" class="mb-3"> <label for="id_form-0-gate_ticket" class="form-label requiredField">
Gate ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-0-gate_ticket" value="5000" min="0" class="numberinput form-control" id="id_form-0-gate_ticket"> </div> <div id="div_id_form-0-regular_ticket" class="mb-3"> <label for="id_form-0-regular_ticket" class="form-label requiredField">
Regular ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-0-regular_ticket" value="0" min="0" class="numberinput form-control" id="id_form-0-regular_ticket"> </div> <div id="div_id_form-0-vip_ticket" class="mb-3"> <label for="id_form-0-vip_ticket" class="form-label requiredField">
Vip ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-0-vip_ticket" value="10000" min="0" class="numberinput form-control" id="id_form-0-vip_ticket"> </div> <div id="div_id_form-0-under18_ticket" class="mb-3"> <label for="id_form-0-under18_ticket" class="form-label requiredField">
Under18 ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-0-under18_ticket" value="0" min="0" class="numberinput form-control" id="id_form-0-under18_ticket"> </div> <input type="hidden" name="form-0-id" value="7" id="id_form-0-id">
</div>
<div class="multiField">
<div id="div_id_form-1-name" class="mb-3"> <label for="id_form-1-name" class="form-label">
Name
</label> <input type="text" name="form-1-name" maxlength="1000" class="textinput textInput form-control" id="id_form-1-name"> <small id="hint_id_form-1-name" class="form-text text-muted">Full name of the event</small> </div> <div id="div_id_form-1-image" class="mb-3"> <label for="id_form-1-image" class="form-label">
Image
</label> <div class=" mb-2"> <div> <input type="file" name="form-1-image" class="form-control" accept="image/*" id="id_form-1-image"> </div>
</div> </div> <div class="mb-3"> <div id="div_id_form-1-visible" class="mb-3"> <input type="checkbox" name="form-1-visible" class="checkboxinput form-check-input" id="id_form-1-visible"> <label for="id_form-1-visible" class="form-check-label">
Visible
</label> <small id="hint_id_form-1-visible" class="form-text text-muted">Select this field to activate this event on the home page</small> </div> </div> <div id="div_id_form-1-brief" class="mb-3"> <label for="id_form-1-brief" class="form-label">
Brief
</label> <input type="text" name="form-1-brief" maxlength="200" class="textinput textInput form-control" id="id_form-1-brief"> <small id="hint_id_form-1-brief" class="form-text text-muted">A brief description of the event</small> </div> <div id="div_id_form-1-details" class="mb-3"> <label for="id_form-1-details" class="form-label">
Details
</label> <textarea name="form-1-details" cols="40" rows="10" class="textarea form-control" id="id_form-1-details">
</textarea> <small id="hint_id_form-1-details" class="form-text text-muted">Separate each line with a fullstop and leave the last line empty</small> </div> <div id="div_id_form-1-venue" class="mb-3"> <label for="id_form-1-venue" class="form-label">
Venue
</label> <input type="text" name="form-1-venue" maxlength="200" class="textinput textInput form-control" id="id_form-1-venue"> </div> <div id="div_id_form-1-date" class="mb-3"> <label for="id_form-1-date" class="form-label requiredField">
Date<span class="asteriskField">*</span> </label> <input type="text" name="form-1-date" value="2023-01-22" class="dateinput form-control" id="id_form-1-date"><input type="hidden" name="initial-form-1-date" value="2023-01-22 19:26:45+00:00" id="initial-form-1-id_form-1-date"> </div> <div id="div_id_form-1-time" class="mb-3"> <label for="id_form-1-time" class="form-label">
Time
</label> <input type="text" name="form-1-time" maxlength="20" class="textinput textInput form-control" id="id_form-1-time"> </div> <div id="div_id_form-1-promoters" class="mb-3"> <label for="id_form-1-promoters" class="form-label">
Promoters
</label> <input type="text" name="form-1-promoters" maxlength="200" class="textinput textInput form-control" id="id_form-1-promoters"> </div> <div id="div_id_form-1-advance_ticket" class="mb-3"> <label for="id_form-1-advance_ticket" class="form-label requiredField">
Advance ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-1-advance_ticket" value="0" min="0" class="numberinput form-control" id="id_form-1-advance_ticket"> </div> <div id="div_id_form-1-gate_ticket" class="mb-3"> <label for="id_form-1-gate_ticket" class="form-label requiredField">
Gate ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-1-gate_ticket" value="0" min="0" class="numberinput form-control" id="id_form-1-gate_ticket"> </div> <div id="div_id_form-1-regular_ticket" class="mb-3"> <label for="id_form-1-regular_ticket" class="form-label requiredField">
Regular ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-1-regular_ticket" value="0" min="0" class="numberinput form-control" id="id_form-1-regular_ticket"> </div> <div id="div_id_form-1-vip_ticket" class="mb-3"> <label for="id_form-1-vip_ticket" class="form-label requiredField">
Vip ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-1-vip_ticket" value="0" min="0" class="numberinput form-control" id="id_form-1-vip_ticket"> </div> <div id="div_id_form-1-under18_ticket" class="mb-3"> <label for="id_form-1-under18_ticket" class="form-label requiredField">
Under18 ticket<span class="asteriskField">*</span> </label> <input type="number" name="form-1-under18_ticket" value="0" min="0" class="numberinput form-control" id="id_form-1-under18_ticket"> </div> <input type="hidden" name="form-1-id" id="id_form-1-id">
</div>
Regards,