开发API时出现'ModelBase' object is not iterable错误,附代码求解决
解决'ModelBase' object is not iterable 错误
错误根源在views.py的序列化步骤:你传入了Watchlist模型类本身,而不是查询得到的可迭代数据集movies。模型类属于ModelBase类型,本身不可迭代,因此触发报错。
修正后的views.py代码:
@api_view(['GET']) def home(request): if request.method == 'GET': movies = Watchlist.objects.all() serializer = WatchlistSerializer(movies, many=True) # 将Watchlist替换为movies return Response(serializer.data)
说明:Watchlist.objects.all()返回的是可迭代的QuerySet对象,满足序列化器对数据源的要求;而直接传入Watchlist是模型类,并非可迭代的数据集,这就是报错的核心原因。
内容的提问来源于stack exchange,提问作者priston
相关产品推荐
相关产品推荐

