try 这样做:

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

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

推荐答案

try

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

注意WishList.attribute_answers.all()结尾的括号.添加括号将调用all函数返回一个iterable.

如果你加上括号,你的意思是"给我store 答案中的所有值,只要该值也在愿望 list 答案中".如果没有括号,你需要的是store 答案中的所有值,这些值也在all函数中,这是没有意义的.all函数不是iterable(它是一个返回iterable的函数)

Django相关问答推荐

以特定顺序获取模型实例时出现问题

Django中有修改字段值的挂钩吗?

在Django管理中仅显示外键的特定值

如何创建复杂的查询?| ChartJS 和 Django

使用 Crispy Forms 时 Django 返回 'TemplateDoesNotExist'

相同的字符串不同的翻译

如何获得用户权限?

如何判断 Python unicode 字符串是否包含非西方字母?

如何运行克隆的 Django 元素?

django.request 记录器没有传播到根目录?

如何在 Django 测试框架中修改会话

如何迭代模板中 SelectField 的选项?

magic有什么问题?

django 复数模板

PyMongo vs MongoEngine for Django

settings.DATABASES 配置不正确使用 django 1.4 执行 syncdb 时出错

如何以编程方式对 Django 中的用户进行身份验证?

刷新时重新提交的django表单

'function' 对象没有属性 'as_view'

Django:如何从模板中识别调用视图?