Nice programing

ManyRelatedManager 개체는 반복 할 수 없습니다.

nicepro 2020. 10. 23. 18:55
반응형

ManyRelatedManager 개체는 반복 할 수 없습니다.


이렇게하려고 :

업데이트 :

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()]

당신이 뭔가를 찾고있는 것 같습니다 Store.attribute_answers.all()


질문에서 읽기 코드를 TL; DR 로 찾는 모든 사람들을 위해

대신에 query_set.many_to_many

당신은 사용해야합니다 query_set.many_to_many.all()


템플릿에서이 작업을 수행하는 경우

  {% for room in study.room_choice.all %}
    {{ room }}
    {% empty %}
    empty list!
  {% endfor %}

여기서 busines_type은 프로필 모델의 foreign_key입니다.

pro = Profile.object.filter(user=myuser).first()
business_type = pro.business_type.all()
if business_type:
    b_type = ''
    for b in business_type:
        b_type += str(b.type)+' '
        a = b_type

참고 URL : https://stackoverflow.com/questions/14920735/manyrelatedmanager-object-is-not-iterable

반응형