AnswerBun.com

Dos modelos en un solo template Django

Stack Overflow en español Asked by Abiel Arcila on August 3, 2020

Hola de antemano gracias por leerme, a continuación tratare de explicar a detalle mi problema, estoy desarrollando una app donde tengo dos modelos, un que se llama Producto y otro que se llama TamañoPrecio el cual tiene una relación con el modelo Producto de ForeignKey, yo hice un CRUD para el modelo Producto, y mi intención era que luego de crear un producto, me redireccionará a un DetailView() de una instancia del modelo Producto, luego ahi poder crear una instancia para el modelo TamañoPrecio en un mismo template, para eso cree un createView para el segundo modelo "TamañoPrecio" y puse como template de esta vista el template que se genera para el detailview del modelo Producto, bueno el problema es que yo al incluir mi formulario en ese template me da un error con el models que pase en ese template porque al parece me da una especie de conflicto al pasar dos vistas con distintos models a un template (ya he pasado dos vistas mismo template pero con modelos iguales y no he tenido problemas, por eso creo que el conflicto yace en que django no permite hacer lo de pasar dos modelos o, bueno esto supongo yo)

ok ahora pasara las partes del código para que entiendan un poco mas mi problema. Este es mi models.py

introducir la descripción de la imagen aquí

estas son mis dos vistas

introducir la descripción de la imagen aquí

y acá mi formulario adentro del template de la vista generada por el detail
introducir la descripción de la imagen aquí

si alguien tiene información acerca de como pasar solucionar esto o simplemente me quiere aportar algo estoy abierto a opiniones

gracias de ante mano.

One Answer

En tu DetailView, agrega un sistema que valide ese formulario.

Aqui un ejemplo

def post(self, request):
    form = Tuforms(data=request.POST)

    if form.is_valid():
        variable_del_formulario= request.POST.get('variable')
        mi_modelo = Producto.objects.all()
        mi_modelo.variable= variable_del_formulario
        mi_modelo.save()
        msg_txt = """
            <p>Contenido agregado</p>
        """
        messages.success(request, msg_txt)

        return redirect ('nombre_de_url')

Nota: Es mejor que agregues el código y no pongas imágenes

Correct answer by teury diaz on August 3, 2020

Add your own answers!

Related Questions

problema de valor nulo

2  Asked on December 7, 2021 by joaquin-autran

   

problema para tomar valor del select

1  Asked on December 7, 2021 by adrin21

     

¿Cuál es la diferencia entre un inner y un outer join?

2  Asked on December 5, 2021 by jachguate

     

Verificar número mayor a 50 millones

5  Asked on December 5, 2021 by sioesi

   

Pasar elementos Listview a un TextView

2  Asked on December 5, 2021 by nicolas-oporto

   

Consultas en PHP Y MYSQL

1  Asked on December 5, 2021 by oscar_dr

     

¿Cómo poner un FloatingActionButton?

3  Asked on December 5, 2021 by sergipc88

     

salto de linea en powershell

1  Asked on December 5, 2021 by user109769

 

Problema al subir archivos a repositorio github

1  Asked on December 5, 2021 by hafid-morales-sanchez

   

Como cifrar un password actualizado

2  Asked on December 5, 2021 by rastablue

     

Ask a Question

Get help from others!

© 2022 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, MenuIva, UKBizDB, Menu Kuliner, Sharing RPP