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

191
Vistas
Comprobando si existe entrada de formulario [Django]

Tengo un formulario Django en el que un usuario ingresa una entrada. Después de enviar, se les lleva a una URL asociada con su entrada.

La base de datos contiene associated_url campos user_input y Associated_url.

La user_input tiene el valor unique=True . Cuando se ingresa una entrada duplicada, se muestra lo siguiente en el sitio web This value user_input already exists in the database aunque no lo configuré. Esta puede ser una característica de form.is_valid() ?

Por lo tanto, reconoce inmediatamente los valores duplicados, pero estoy tratando de configurarlo para que, si se ingresa un valor duplicado, solo lleve al usuario a la associated_url para ese valor.

es decir

Tabla de base de datos existente:

 user_input associated_url hello https://stackoverflow.com

Si un usuario volviera a ingresar hello en el formulario, lo llevaría inmediatamente a https://stackoverflow.com en lugar de mostrar This value user_input already exists in the database

Código:

 def Primary(request): form = Form() if request.method == 'POST': form = Form(request.POST) if form.is_valid(): ... saving to database, redirect etc.

Necesito poder verificar si el valor de entrada es un duplicado. Si es así, obtenga la user_input associated_url de la misma fila que la entrada duplicada de entrada de usuario y redirija al usuario allí.

Para hacer esto yo mismo, intenté agregar una declaración else a la condición form.is_valid , pero eso parece una mala práctica porque intentará redirigir independientemente del error (?) Y porque no sé cómo associated_url la URL asociada con el valor de entrada.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Tiene múltiples opciones para esto, pero algunas de ellas lo son.

 param = request.POST["param"] if YourModel.objects.get(param=param): redirect('/myurl/{}'.format(param)) else: if form.is_valid(): # other code

O escriba su propio método clean() personalizado para el formulario que está utilizando.

over 4 years ago · Santiago Trujillo Denunciar
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