Questi formati stanno esibendo esattamente il di fronte al comportamento che desidero.Formset Django: effettuare prima la richiesta?
La mia opinione è impostato in questo modo:
def post(request): # TODO: handle vehicle formset
VehicleFormSetFactory = formset_factory(VehicleForm, extra=1)
if request.POST:
vehicles_formset = VehicleFormSetFactory(request.POST)
else:
vehicles_formset = VehicleFormSetFactory()
E il mio modello è simile al seguente:
<div id="vehicle_forms">
{{ vehicles_formset.management_form }}
{% for form in vehicles_formset.forms %}
<h4>Vehicle {{forloop.counter}}</h4>
<table>
{% include "form.html" %}
</table>
{% endfor %}
</div>
In questo modo si genera inizialmente solo 1 modulo, come voglio. Ma voglio che sia richiesto un solo modulo!
Quando aggiungo dinamicamente moduli vuoti con JavaScript e vehicles_formset.empty_form
sono richiesti tutti quei moduli aggiuntivi, che non desidero.
Dalla documentazione:
Il formset è abbastanza intelligente per ignorare le forme extra che non sono stati modificati.
Questo è il comportamento che mostra il primo modulo (non quello che voglio) ma non il comportamento che i moduli aggiuntivi stanno esibendo (cosa voglio).
C'è qualche attributo che posso modificare per rendere almeno un modulo richiesto?
@ MPit anche se sono in ritardo per la festa, mi chiedevo come fare per una questione leggermente diversa che sto affrontando la mia domanda qui (https://stackoverflow.com/questions/44159559/need-to-have-a-required-and-optional-fields-in-django-formset) – dungu
@kedric Stai chiedendo il ragazzo sbagliato Non ho usato Django da poco dopo aver postato questa domanda. – mpen
ooh, ok fratello grazie per la risposta – dungu