22 votes

Est-il possible d'accéder à une "propriété" d'un modèle Django à partir de son ModelForm ?

J'ai une classe de modèle Django avec une propriété qui n'est pas un champ de modèle, par exemple :

def _get(self):
    return "something"
description = property(_get)

J'utilise la classe de modèle dans un ModelForm / ModelFormset. Existe-t-il un moyen d'accéder à la propriété depuis le formulaire / formset ? Si ce n'est pas le cas, quelle est la meilleure pratique pour inclure des données d'affichage supplémentaires dans un formulaire django ?

31voto

ars Points 35803

Si votre ModelForm a été initialisé avec une instance d'un modèle, vous pouvez y accéder par l'intermédiaire de la directive instance attribut. A partir de l'attribut Docs ModelForm :

En outre, une instance de formulaire de modèle liée à un objet de modèle contient un attribut self.instance qui permet aux méthodes du formulaire de modèle d'accéder à cette instance de modèle spécifique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X