widgets formularios form fields example django django-forms django-widget

formularios - django model form



¿Cómo obtener un único widget para establecer 2 campos en Django? (3)

Defina los campos lat y long en su formulario; configúrelos para usar el HiddenInputWidget.

Después del inicio de su formulario, agregue otro campo que contenga su widget personalizado que toma dos valores.

En el método de limpieza para ese campo adicional, establezca los valores de self.cleaned_data [''lat''] y self.cleaned_data [''lng'']

Probablemente hay formas más limpias, pero debería funcionar

Obtuve un modelo con 2 campos: latitud y longitud. En este momento son 2 CharFields, pero quiero crear un widget personalizado para configurarlo en admin: estaba pensando en mostrar Google Maps y luego obtener las coordenadas del marcador.

¿Pero puedo tener 1 artilugio (un solo mapa) para establecer 2 campos diferentes?


He utilizado el método full_clean para la división de datos. El uso del método clean_FIELD es demasiado tarde.


Terminé configurando un formulario personalizado en mi administrador con un campo extra no requerido que tenía un widget que controla el mapa y configura un widget de mapas de ese tipo como stevejalim. Sin embargo, no oculté los campos de entrada ya que todavía estaban en la vista y no me importa verlos. Probablemente sería más limpio anular la plantilla para editar ese modelo en su lugar y poner en un mapa, pero parecía mucho trabajar para algo que debería ser simple.

Una solución sería si Django permitiera campos de modelos complejos en los que un campo de modelo corresponde a múltiples columnas de base de datos pero aún no es compatible (consulte https://code.djangoproject.com/ticket/5929 )

La otra sería si Django nos permitiera usar un campo de formulario que corresponde a dos campos modelo, pero no parece haber una manera de lograr eso y no puedo encontrar un boleto para ello.