Tengo lo que creo que debería ser un problema simple. Tengo un formset de modelo en línea, y me gustaría hacer que un campo de selección tenga un valor seleccionado por defecto del usuario actualmente conectado. En la vista, estoy usando el middleware de Autenticación de Django, por lo que obtener al usuario es una simple cuestión de acceder al request.user
.Django: ¿Cómo establecer los valores iniciales para un campo en un formset de modelo en línea?
Lo que no he sido capaz de averiguar, sin embargo, es cómo establecer ese usuario como el valor seleccionado por defecto en un cuadro de selección (ModelChoiceField) que contiene una lista de usuarios. Puede alguien ayudarme con esto?
No estoy seguro de cómo funcionaría esto con el formset en línea. Estoy usando inlineformset_factory para crear mi formset y pasarle la clase de formulario, no una instancia. Así que no estoy instanciando directamente un objeto de formulario en ninguna parte y no sé cómo lo pasaría ese parámetro de constructor. – Jeff
Hmmm ... Creo que ModelForms tomará el valor 'predeterminado', ¿no? Y los campos de formulario estándar utilizan la inicial como se muestra, pero hasta donde sé, no hay ninguna razón para ir super() en él. – monkut
Esto es genial! Estaba buscando una forma de enviar datos desde el formulario a la vista para que pueda enviar el estado que se mostrará utilizando el marco de mensajes. En la forma en que usé la palabra clave inicial, y luego en la vista lo hice al validar: cur_key_status = form.cleaned_data ['key_status'] messages.success (request, cur_key_status) – radtek