Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从Django中的多对多字段中获取名称?_Python_Django_Django Orm - Fatal编程技术网

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

Python 如何从Django中的多对多字段中获取名称?,python,django,django-orm,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) 现

我对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>


我想打印name的值。如何做到这一点?

由于这是一个多对多的过程,您需要执行以下操作:

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

那不行。它给出了一个错误:
AttributeError:“ManyRelatedManager”对象没有属性“name”
抱歉,刚刚编辑过。我以为iob是一个对象。不是查询集