• Django session: Object of type is not JSON serializable?

    @redskye798
    Комментатор выше прав в том, что в сессию нельзя передавать объекты ORM. Однако автор и не пытается (осознанно) передать в сессию объект. Он думает, что в методе __iter__ добавляет объект product к копии self.favorites, а затем отдаёт в yield, не меняя исходный self.favorites. Увы, исходный self.favorites всё же меняется, и в сессию пытается пролезть объект ORM. Для решения проблемы нужно изменить способ копирования объекта self.favorites.

    Импортируем модуль copy и заменяем favorites = self.favorites.copy() на favorites = copy.deep_copy(self.favorites)
    Должно сработать.
    Ответ написан
    Комментировать