django __unicode__:\ n和manytomany?

时间:2014-03-10 01:45:15

标签: python django django-admin

Class NickName(models.Model):
    name = models.CharField()

    def __unicode__(self):
        return unicode(self.name)

Class Bob(models.Model):

    bob_nickname = models.ManyToManyField(NickName)

    def __unicode__(self):
        return unicode(self.bob_nickname)

数字1。如何让班级Bob的__unicode__显示实际的FK名称,而不是<django.db.models.fields.related.ManyRelatedFieldsManager Object at 0Xdsfjk>

编辑:简单地做self.bob_nickname.all()似乎工作正常。它很漂亮,但它显示信息:[<NickName: Ron>,<NickName: Randy>]

NUMBER2。另外,如何让def __unicode__无法逃脱\n?我想创建一个多行unicode字符串

谢谢!

1 个答案:

答案 0 :(得分:1)

为什么不使用values_list将所有相关的nick_names作为列表?

class Bob(models.Model):
    bob_nickname = models.ManyToManyField(NickName)

    def __unicode__(self):
        return u'\n'.join(self.bob_nickname.values_list('name', flat=True))