gpt4 book ai didi

python - 类型错误 : ManyRelatedManager object is not iterable

转载 作者:太空狗 更新时间:2023-10-29 21:23:32 26 4
gpt4 key购买 nike

我无法解决名为 Many Related Manager is not iterable 的错误。我有名为 A 和 B 的模型,如下所示:

class B(models.Model):
indicator = models.CharField(max_length=255, null=True)
tags = models.CharField(max_length=255, null=True, blank=True)


class A(models.Model):
definitions = models.ManyToManyField(B)
user = models.ForeignKey('userauth.ABCUSER', null=True, blank=True)
project = models.ForeignKey('userauth.ProjectList', null=True, blank=True)

我想检索模型 A 的定义属性,其中包含类 B 的属性。我尝试如下所示检索它,但它给了我一个错误:

TypeError: ManyRelatedManager object is not iterable

 if tbl_scope == 'Generic':
checked_objects = A.objects.get(user=user, project=project)


for checked_object in checked_objects.definitions:
print(checked_object.indicator)

最佳答案

m2m 字段作为相关管理器对象返回,因此它不可迭代。您需要使用 all 将其转换为查询集以使其可迭代。

if tbl_scope == 'Generic':
checked_objects = A.objects.get(user=user, project=project)


for checked_object in checked_objects.definitions.all():
print(checked_object.indicator)

您可以阅读更多关于 m2m 的信息字段。

关于python - 类型错误 : ManyRelatedManager object is not iterable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45768190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com