2010-12-20 4 views
0

Les modèles Django permettent d'accéder aux erreurs de champ via field.errors.as_ul. En Python, cependant, le champ n'a pas d'erreur d'attribut. Comment cela marche-t-il? Mon problème particulier est que j'ai essayé de sérialiser les formulaires (et les erreurs) et sur la désérialisation tout fonctionne en python, mais les erreurs n'apparaissent pas si je les demande explicitement via field.errors.as_ul. Ils apparaissent cependant via field.errors: au fond, la liste des chaînes s'affiche.Erreurs de champ de formulaire Django dans les modèles

Quelqu'un peut-il expliquer cela?

Répondre

1

Il existe en fait deux classes distinctes pour les champs: les éléments de champ que vous déclarez dans votre formulaire et une classe BoundField qui est automatiquement créée par le formulaire et qui contient des données liées et des erreurs.

+0

Bon indice, on dirait que les modèles fonctionnent avec BoundFeild. D'ACCORD. Ce genre de réponses à ma première question. Ma principale préoccupation (l'absence de as_ul) s'est révélée être mon bogue: j'avais un ErrorDict dont les valeurs étaient des listes régulières plutôt que des ErrorList. –

Questions connexes