Próbować
matches = [val for val in Store.attribute_answers.all() if val in WishList.attribute_answers.all()]
Zwróć uwagę na nawias na końcu WishList.attribute_answers.all()
. Dodanie nawiasu wywołuje all
funkcję zwracającą iterowalną.
Jeśli dodasz nawias, mówisz „podaj mi wszystkie wartości w sklepach odpowiedzi, o ile ta wartość jest również na liście życzeń odpowiedzi”. Bez nawiasów pytasz o wszystkie wartości z odpowiedzi sklepu, które również znajdują się w all
funkcji, która jest bez znaczenia. Funkcja all nie jest iterowalna (jest to funkcja, która zwraca iterowalną)