ManyRelatedManager对象不可迭代

jas*_*son 73 django

试着这样做:

更新:

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

得到这个......

'ManyRelatedManager' object is not iterable
Run Code Online (Sandbox Code Playgroud)

这两个领域都很多,所以怎么做呢?

Aid*_*wen 91

尝试

matches = [val for val in Store.attribute_answers.all() if val in WishList.attribute_answers.all()]
Run Code Online (Sandbox Code Playgroud)

  • 为什么没有解释? (7认同)

sec*_*ond 50

听起来你正在寻找类似的东西 Store.attribute_answers.all()


Qba*_*ack 17

对于那些在问题中找到读代码的人来说,TL; DR

代替 query_set.many_to_many

你应该使用 query_set.many_to_many.all()

  • 这应该是公认的答案,不能再简单了 (2认同)

and*_*dyw 13

如果您在模板中执行此操作

  {% for room in study.room_choice.all %}
    {{ room }}
    {% empty %}
    empty list!
  {% endfor %}
Run Code Online (Sandbox Code Playgroud)