2 votes

Bizut : Dans Django, comment changer les noms d'affichage des objets ?

Je m'excuse pour cette question simple. J'ai essayé de chercher une réponse dans la documentation de Django, mais je n'ai pas réussi à la trouver.

J'ai créé quelques classes, mais dans la zone d'administration, elles apparaissent toutes sous le nom de "classname object". J'ai essayé d'utiliser le code ici : Comment fonctionnent les champs de modèle de Django ? .. mais j'ai eu une énorme page d'erreurs.

J'ai une classe abstraite de personnes, puis des classes enfantines de personnes spécialisées. J'essaie de faire en sorte qu'elles soient listées comme self.name mais je n'arrive pas à comprendre.

Merci.

3voto

pyriku Points 668

Vous devez mettre en œuvre un __unicode__ méthode, comme :

class Person(model.Model):
    name = models.CharField(max_length=200)
    email = models.CharField(max_length=200)

    def __unicode__(self):
        return u'%s <%s>' % (self.name, self.email)

Dans ce cas, si vous essayez de print un objet Personne, il utilisera votre __unicode__ fonction.

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