¿Es esta la única forma de crear una validación de modelo personalizada? Para hacerlo usando los formularios? ¿Qué sucede si deseo enviar datos a la base de datos a través de otros medios que no sean formularios?¿Se maneja la validación del modelo de Django solo a través de la API de formularios?
Respuesta
Actualmente, Django no proporciona ninguna validación a nivel de modelo (además de las validaciones básicas "NOT NULL", "UNIQUE" y de longitud). Esto está en la lista de cosas por hacer, pero lo más probable es que no se ajuste a la próxima versión 1.1.
Puede realizar tareas relacionadas con la validación en el método save()
de su modelo o utilizar la señal before_save
(elevar la excepción en el controlador de señal hará que la transacción se retrotraiga).
En general, debe poder manejar lo que desee a través del field types incorporado y sus opciones o el model's meta options. También puede override the save method para realizar la validación/saneamiento. Si eso no es suficiente, puede crear su propio field type.
El problema es que no hay un buen comportamiento esperado. ¿Qué debería pasar? ¿Debería plantearse una excepción? Los campos son solo una abstracción a nivel de base de datos, por lo que no debería haber más información allí que lo que la base de datos necesita saber.
La validación del modelo estará disponible en breve en la versión 1.2 de Django. Está disponible en este momento si utiliza una descarga de Django svn actual de la troncal.
Varios métodos clean
ya están disponibles. Ver http://docs.djangoproject.com/en/dev/ref/models/instances/#id1 para más detalles.
- 1. Django ManyToMany validación del modelo
- 2. iteración a través de campos del modelo de Django -
- 3. Actualizar modelo django a través de kwargs
- 4. personalizada validación de formularios
- 5. jqGrid & MVC3 - Agregar la validación del modelo
- 6. Validación de propiedades del modelo WCF web APi
- 7. error jQuery presentar la validación de formularios
- 8. ¿Se deben usar excepciones para la validación de formularios?
- 9. Validación del modelo Java
- 10. Recomendación para la biblioteca de la validación de formularios pitón
- 11. validación de formularios con Javascript a PHP
- 12. Uso de la autenticación de formularios con la API web
- 13. ¿Alternativa al modelo de procesamiento de formularios django?
- 14. ¿Por qué solo se llama a IValidatableObject.Validate si se pasa la validación de la propiedad?
- 15. Supervisión de la aplicación django virtualenv a través del supervisor
- 16. Validación del modelo de red troncal
- 17. Cómo agregar una validación de modelo de Django personalizada
- 18. Cómo mostrar mensajes de error Salesforce regla de validación a la vez a través de la API
- 19. Django y la validación del formulario personalizado
- 20. ¿Biblioteca de validación de formularios para Android?
- 21. Django: ¿accediendo a la instancia del modelo desde ModelAdmin?
- 22. django ManyToMany a través de la ayuda
- 23. Aumento de la validaciónError del método de salvar del modelo django?
- 24. Filtrar a través de un modelo relacionado django
- 25. La validación del modelo ASP.NET MVC rompe la regla MVC?
- 26. ¿Cómo se maneja la memoria del código?
- 27. Formularios del modelo doble anidado
- 28. Manejar validación de modelo de estado en ASP.NET Web API
- 29. Reglas condicionales para la validación de formularios HTML5
- 30. ¿Cómo sé si se modificó la instancia del modelo django?