如何从Django的多对多字段中获取名称?

时间:2013-06-13 17:35:11

标签: python django django-orm

我对Django很新。 我有以下代码:

class ModelA(models.Model):
    name = models.CharField(max_length=30)

class ModelB(models.Model):
    name = models.ManytoManyField(ModelA)
    colour = models.CharField(max_lenght=30)

iob = ModelB.objects.filter(name=name)

现在,这很好用:

for i in iob:
    print i.colour

我想做类似的事情:

for i in iob:
    print i.name

但它肯定不起作用。输出如下:

<django.db.models.fields.related.ManyRelatedManager object at 0x30a2e50>

我想打印名称的值。我该怎么做?

1 个答案:

答案 0 :(得分:1)

由于它是多对多的,您需要这样做:

for i in iob:
    print i.colour
    for obj_name in i.name.all()
        print obj_name.name