Voglio definire la mia routine di validazione per un campo particolare di un modello Django. Voglio che il messaggio di errore venga visualizzato nel modulo di amministrazione ma voglio anche che la stessa validazione avvenga se l'entità viene salvata dal proprio codice Python. C'è un modo per farlo senza rompere il principio di ASCIUTTO?Convalida del campo Django in Model and in Admin?
risposta
Se si desidera convalidare un singolo campo, è possibile aggiungere write a validator al campo del modello.
Il validatore verrà eseguito per il campo ogni volta che viene chiamato il metodo full_clean
del modello. Verrà eseguito ogni volta che un modulo del modello viene convalidato (incluso nell'amministratore di Django), ma non verrà eseguito automaticamente quando l'istanza del modello viene salvata - è necessario chiamare manualmente full_clean
in codice python.
m = MyModel(x=20)
m.full_clean() # may raise ValidationError
m.save()
Se si voleva forzare il validatore per eseguire ogni volta che il modello viene salvato, allora si potrebbe sovrascrivere il metodo save e chiamare full_clean
lì. Si noti che ciò causerebbe l'esecuzione della convalida due volte quando si utilizzano i moduli del modello e l'admin di django.
- 1. filtro campo ForeignKey in Django Admin
- 2. Cambia campo selezionabile in admin Django list_display
- 3. Cambia il nome del campo in django admin
- 4. ChoiceField in Django model
- 5. Fare campo email unico con Django Admin User
- 6. Django Admin in Angularjs
- 7. WMD in Django Admin?
- 8. request.user in Django model
- 9. Come verificare la transizione del valore in Django (django-admin)?
- 10. Nome del campo personalizzato in Flask-Admin
- 11. Campo univoco in Django Model per ogni chiave esterna
- 12. linea indiretta in Django Admin
- 13. Cambiare la password in Django Admin
- 14. Ricerca testuale per campo ForeignKey in Django Admin
- 15. Personalizzazione di Django admin TabularInline campo predefinito
- 16. Come modificare l'etichetta del campo dell'elenco personalizzato Django Admin
- 17. Django admin: rendere campo modificabile in add ma non modificare
- 18. Sostituisci "questo campo è obbligatorio" messaggio in django admin
- 19. Ordinazione una relazione molti-a-molti campo in Django Admin
- 20. Django model i18n del contenuto
- 21. GenericForeignKey e Admin in Django
- 22. django admin come visualizzare widget su campo readonly
- 23. django-mutant che crea modelli in django-admin
- 24. Campo DateTime in modello Django
- 25. Collegamento in admin django all'oggetto chiave esterna
- 26. Come mostrare gli errori del database all'utente in Django Admin
- 27. Nascondi campi in Django Admin
- 28. Convalida del campo modello Django senza modulo personalizzato
- 29. Convalida una lumaca in Django
- 30. Convalida del modulo Javascript Django