gpt4 book ai didi

django - ManyRelatedManager 对象不可迭代

转载 作者:行者123 更新时间:2023-11-28 19:33:11 25 4
gpt4 key购买 nike

尝试这样做:

wishList = WishList.objects.get(pk=20)
matches = [val for val in Store.attribute_answers.all() if val in wishList.attribute_answers]

然后得到这个...

'ManyRelatedManager' object is not iterable

这两个字段都是多对多的,那么如何做到这一点呢?

最佳答案

尝试

matches = [val for val in Store.attribute_answers.all() if val in WishList.attribute_answers.all()]

请注意 WishList.attribute_answers.all() 末尾的括号。添加括号会调用 all 函数以返回一个可迭代对象。

如果您包含括号,那么您是在说“给我商店答案中的所有值,只要该值也在愿望 list 的答案中”。如果没有括号,您是在请求商店答案中的所有值,这些值也在 all 函数中,这是没有意义的。 all 函数不是可迭代的(它是一个返回可迭代的函数)

关于django - ManyRelatedManager 对象不可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14920735/

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