Estoy usando formularios de Django. Estoy validando en la capa del modelo:¿Cómo puedo generar un ValidationError (o hacer algo similar) en views.py de mi Django?
def clean_title(self):
title = self.cleaned_data['title']
if len(title) < 5:
raise forms.ValidationError("Headline must be more than 5 characters.")
return title
Sin embargo, hay algunas cosas que necesito para validar en el views.py
. Por ejemplo ... ¿fue la última vez que el usuario publicó algo hace más de un minuto?
Ese tipo de cosas requiere request.user, que la capa de modelos no puede obtener. Entonces, debo validar en el views.py ¿Cómo hago algo en views.py para hacer exactamente esto?
raise forms.ValidationError("Headline must be more than 5 characters.")
Eso no se parece a la validación en la capa del modelo (como en el modelo django.db.models.Model. ¿Te refieres a la capa django.forms.Form/ModelForm? Supongo que –
Tengo un requisito similar por una razón diferente: hay un campo que a veces solo es necesario, dependiendo de la página, por lo que la vista debe imponerlo ya que está estrechamente vinculado a la página. –