我试图显示管理界面中的manytomanyfield的内容。我有以下代码:django显示内容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)
在管理我有这样的事情:
class MemberAdmin(admin.ModelAdmin):
list_display = ('group_gp_name')
此方法处理为外键显示数据。显然,这不适用于ManytoManyFields ..所以我的问题是,我怎样才能显示我的组名在我的管理员页下的成员。所以,当我点击'会员'的管理员时,我想立即看到由多人关系加上的组名的内容?
更新! - 我不想在我的更改页面中显示它们只是想在表格中看到结果。我发现这一点,它几乎是我想要什么:
def get_sol(self):
return self.group.all()
这工作,但认为是有点怪异,它显示了这样的事情:
<Group: Administrators >]
的问题是,我不希望看到那些'[Group:'和'>]',那么我该如何摆脱这些?
UPDATE2 !!!
它帮了我,但如果发生这种情况呢?我有一个名为Test这样的第3表:
class Test(models.Model):
member = models.ForeignKey('Member')
现在,我想在管理视图“测试”从表“组”组名显示,这怎么可能?
任何帮助表示赞赏。
问候, 牛逼
我编辑了我的答案 - 让我知道它是否适合你! – 2010-08-12 08:51:01