2010-06-12 3 views
0

Le champ ChoiceField crée un élément html sélectionné et les options affichent l'attribut choice_label qui est le __unicode__ de chaque objet de modèle. Comment puis-je modifier le texte de l'étiquette de choix sans modifier __unicode__?ajouter du texte au choix_label de ChoiceField dans Django

J'ai un modèle de produit et je veux montrer dans le texte d'options le nom du produit + le prix + le lien à éditer.

J'ai cherché dans fields.py et widgets.py mais je n'ai pas trouvé ce qui devait être changé.

Merci

Répondre

0

La classe de champ de, par ex. ModelChoiceField a une méthode label_from_instance que vous pouvez remplacer dans votre sous-classe. l'origine, il ressemble à ceci:

def label_from_instance(self, obj): 
    return smart_unicode(obj) 

ne devrait pas être gros problème pour régler cela à vos besoins!

+0

Il ressemble exactement à ce dont j'ai besoin. essayer, merci. – pablo

Questions connexes