11
votes

Rendre Django Admin Afficher la clé primaire plutôt que le type d'objet de chaque objet

dans django 1.1 admin, lorsque je vais ajouter ou modifier un objet, mes objets sont affichés comme suit: xxx

Ceci arrive pour tous les modèles de mon site, pas seulement des hôtes.

plutôt que d'afficher le même nom pour chaque objet, j'aimerais que Django affiche la clé primaire. xxx

voici mon code: xxx

lecture http://docs.djangoproject.com/fr/dev/ref/contrib/admin/ :

"Modeladmin.list_display

SET LIST_DISPLAY Pour contrôler les champs affichés sur la page de liste de modifications de l'administrateur."

Cependant, cela ne semble pas fonctionner. Est-ce que je fais quelque chose de mal?


0 commentaires

3 Réponses :


33
votes

Ajouter un __unicode __ () méthode sur hôte . Pour afficher la clé primaire de vos objets hôtes, vous voudriez quelque chose comme: xxx

Vous voudrez peut-être penser à montrer le contenu du champ : < / p> xxx

Vous devez faire quelque chose de similaire pour chaque modèle que vous avez.

pour la compatibilité Python 3, vous voudrez faire quelque chose comme ceci (voir La documentation ): < / p> xxx


0 commentaires

10
votes

contrib.dmin a été retravaillé dans 1,0 et l'ancien admin Les classes à l'intérieur des modèles ne fonctionnent plus. Ce dont vous avez besoin est modeladmin sous-classe dans your_application.admin module, par exemple xxx

ou utilisez __ unicode __ dans le modèle lui-même, par exemple xxx


0 commentaires

3
votes

Il peut également être à noter que, si vous utilisez une clé primaire incrémentée automatique de vos modèles, vous devrez le contraindre à une chaîne, par exemple:

def __unicode__(self):
    return str(self.pk)


0 commentaires