Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

157
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda