J'essaie de montrer le contenu d'un manytomanyfield dans l'interface d'administration. J'ai le code suivant:django afficher le contenu manytomanyfield
class Member(models.Model):
group = models.ManyToManyField('Group')
def group_gp_name(self):
return self.group.gp_name
def __unicode__(self):
return u'%s' % (self.id)
class Group(models.Model):
gp_name = models.TextField(verbose_name=u'Group Name')
def __unicode__(self):
return u'%s - %s' % (self.id, self.gp_name)
Dans l'administration j'ai quelque chose comme ceci:
class MemberAdmin(admin.ModelAdmin):
list_display = ('group_gp_name')
Cette méthode a fonctionné pour montrer des données foreignkey. Évidemment, cela ne fonctionne pas avec ManytoManyFields .. donc ma question est, comment puis-je montrer les noms de mes groupes dans ma page d'admin sous Member. Donc quand je clique dans l'admin sur 'Membre' je veux voir immédiatement le contenu des noms de Groupe couplés par la relation manytomany?
MISE À JOUR !!! - Je ne veux pas les montrer dans ma page de changement, je veux juste voir le résultat dans le tableau. Je l'ai trouvé cela et il est presque ce que je veux:
def get_sol(self):
return self.group.all()
Cela fonctionne, mais la vue est peu bizarre, il montre quelque chose comme ceci:
<Group: Administrators >]
Le problème est, je ne sais pas veux voir ceux '[Group:' et '>]', alors comment m'en débarrasser?
MISE À JOUR2 !!!
Il m'a aidé, mais que se passe-t-il si par exemple cela se produit? J'ai une 3ème table appelée test comme ceci:
class Test(models.Model):
member = models.ForeignKey('Member')
Maintenant, je veux show dans la vue admin « Test » le nom du groupe de la table « Groupe », comment est-ce possible?
Toute aide est appréciée.
Cordialement, T
J'ai édité ma réponse - laissez-moi savoir si cela fonctionne pour vous! –