Sto provando a prepopolare i dati nel mio modulo django sulla base di alcune informazioni, ma NON utilizzando ModelForm, quindi non posso semplicemente impostare l'istanza.Prepopolare il modulo Django (non-Model)
Sembra che dovrebbe essere davvero facile, ma per qualche motivo non riesco a trovare alcuna documentazione che mi indichi come farlo. Questa è la mia forma:
class MyForm(forms.Form):
charfield1 = forms.CharField(max_length=3)
charfield2 = forms.CharField(max_length=3)
choicefield = forms.ModelChoiceField(MyModel.objects.all())
Ho provato solo facendo:
form = MyForm()
form.charfield1 = "foo"
form.charfield2 = "bar"
# a model choice field
form.choicefield = MyModel.objects.get(id=3)
che non funziona.
grazie - questo funziona. Tuttavia, non funziona con la chiave esterna di un modello. Ho provato a passare l'istanza del modello stessa nel dizionario, che genera un'eccezione, e ho provato a passare in pk/id, che non ha esito negativo, ma non precarica il caricamento corretto nell'interfaccia utente del mio modulo. – Cory
L'utilizzo dell'id oggetto dovrebbe funzionare. L'ho appena testato con ModelChoiceField. Potresti per favore mostrarci la tua definizione di forma? –
ha aggiunto la definizione del modulo nella modifica. – Cory