Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

127
Vistas
¿Cómo editar un conjunto de formularios que tiene múltiples formularios internos relacionados a través de un genérico extraño al modelo de la vista de edición actual?

En mi proyecto reciente, tuve que crear un modelo genérico con un solo campo de archivo, porque la idea era utilizar varias cargas de archivos en varios modelos de sistemas.

Para esto, creé este modelo genérico con clave externa genérica y en la vista de agregar creo un formset con el campo extra = 1 y en la plantilla a través de jquery agrego formularios dentro de mi formset.

Además, funciona silenciosamente, pero no puedo ajustar mi vista de edición.

En mi vista de edición lo intento:

 ModelGenericFormset = modelformset_factory( ModelsFileGeneric, form=AddModelsGenericForm ) query_files = ModelsFileGeneric.objects.filter( object_id=model_related_to_generic_model_with_file_field.id, ) files = ModelGenericFormset(queryset=query_files)

y en request.post:

 files_form_set = ModelGenericFormset( request.POST, request.FILES ) for file_form in files_form_set: file = file_form.save(commit=False) setattr( 'upload_destination', 'path_to_upload' ) file.content_object = model_related_to_generic_model_with_file_field file.save()

Una observación: como este modelo donde está el campo de archivo es un modelo extremadamente genérico (por esta razón el uso de la clave externa genérica), también necesito en tiempo de ejecución (en el guardar a la vista después de la publicación) para cambiar el atributo upload_to de el campo (esto ya fue arreglado y funciona bien). Hago esta edición del atributo "upload_to" porque dependiendo del modelo al que le estoy enviando varios archivos, variará la ruta desde donde se guardarán los archivos.

Pero al guardar la vista de edición, se produce este error:

ModelsFileGeneric no se pudo cambiar porque los datos no se validaron.

Y el error está en:

archivo = file_form.save(commit=Falso)

Ya no sé qué hacer. ¡Gracias!

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda