Ho quello che penso dovrebbe essere un problema semplice. Dispongo di un formset di modelli in linea e mi piacerebbe che un campo di selezione avesse un valore predefinito predefinito dell'utente attualmente connesso. Nella vista, sto usando il middleware di autenticazione di Django, quindi ottenere l'utente è una semplice questione di accesso a request.user
.Django: come impostare i valori iniziali per un campo in un formset del modello in linea?
Ciò che non sono stato in grado di capire, tuttavia, è come impostare quell'utente come valore predefinito selezionato in una casella di selezione (ModelChoiceField) contenente un elenco di utenti. Qualcuno mi può aiutare con questo?
Non so come questo potrebbe funzionare con il formset in linea. Sto usando inlineformset_factory per creare il mio formset e passarlo nella classe form, non in un'istanza. Quindi non sto istanziando direttamente un oggetto modulo da nessuna parte e non so come passarei il parametro costruttore. – Jeff
Hmmm ... Credo che ModelForms assumerà il valore 'predefinito', vero? E i campi dei moduli standard usano inizialmente come si mostra, ma per quanto ne so non c'è motivo per cui andare super() su di esso. – monkut
Questo è fantastico! Stavo cercando un modo per inviare dati dal modulo alla vista in modo da poter inviare lo stato che verrà visualizzato utilizzando il framework dei messaggi. Nel modulo ho usato la parola chiave iniziale, quindi nella vista l'ho fatto per convalidare: cur_key_status = form.cleaned_data ['key_status'] messages.success (request, cur_key_status) – radtek