es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Quiero una validación en mi modelo Django para que el campo de pregunta no acepte un número entero. Intenté hacerlo pero no está funcionando. ¿Cómo puedo hacerlo?

Aquí está mi código

models.py

from django.db import models

class Question(models.Model):
question = models.CharField(max_length=200, null= True)
option1 = models.CharField(max_length= 200, null= True)
option2 = models.CharField(max_length= 200, null= True)
option3 = models.CharField(max_length= 200, null= True)
option4 = models.CharField(max_length= 200, null= True)
answer = models.CharField(max_length=200, null=True)

def __str__(self):
    return self.question

views.py

from django.shortcuts import render,redirect
from .models import *
from .forms import QuestionForm
from django.views import View
from django.urls import reverse

class AddQuestion(View):

def post(self, request):
    forms = QuestionForm(request.POST)
    if forms.is_valid():
        forms.save()
        print("estaba en If")
        return redirect(reverse('home'))
    else:
        print("estaba en else")
        context = {'forms': forms}
        return render(request, 'file/addQuestion.html', context)

def get(self, request):
    forms = QuestionForm()
    context = {'forms': forms}
    return render(request,'file/addQuestion.html',context)
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    ¿Qué hace el código?

    Este código define un modelo de Django llamado Pregunta con campos para una pregunta, cuatro opciones y una respuesta. Después, el archivo views.py define una vista basada en clases llamada AgregarPregunta que maneja tanto las solicitudes GET como las POST. Cuando el formulario se envía mediante POST, la vista verifica si el formulario es válido y lo guarda en la base de datos si lo es. Si el formulario no es válido, la vista devuelve el formulario con los errores de validación. Cuando se solicita el formulario mediante GET, la vista devuelve un formulario en blanco.

Comments are closed.