TypeError:“通知”对象不可迭代
Posted
技术标签:
【中文标题】TypeError:“通知”对象不可迭代【英文标题】:TypeError: 'Notification' object is not iterable 【发布时间】:2018-01-20 22:12:14 【问题描述】:我是 django 的新手。我遇到了一个错误“对象不可迭代”。 请帮帮我..
//view.py
class NotificationList(APIView):
def get(self,request,user_id,format=None):
noti = Notification.objects.filter(user_id=user_id)
val=[]
for n in noti:
serializer = GetNotificationSerializer(n,many=True)
in_id = serializer.data.get('interest_id') // this statement makes error
//serializer.py
class GetNotificationSerializer(serializers.Serializer):
interest_id = serializers.PrimaryKeyRelatedField(queryset=Interest.objects.all())
user_id = serializers.PrimaryKeyRelatedField(queryset=User.objects.all())
article_id = serializers.PrimaryKeyRelatedField(queryset=Article.objects.all())
status = serializers.IntegerField(required = True)
//model.py
class Notification(models.Model):
interest_id = models.ForeignKey(Interest, on_delete=models.CASCADE)
user_id = models.ForeignKey(User, on_delete=models.CASCADE)
article_id = models.ForeignKey(Article, on_delete=models.CASCADE)
status = models.IntegerField()
【问题讨论】:
把错误回溯 @JuanMiGabarron 我的错误回溯添加在下面 【参考方案1】:删除许多 kwargs
serializer = GetNotificationSerializer(n,many=True)
# ^^^
到
serializer = GetNotificationSerializer(n)
# ^^^
【讨论】:
以上是关于TypeError:“通知”对象不可迭代的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: 'float' 类型的对象没有 len() & TypeError: 'float' 对象不可迭代
“TypeError:'StratifiedShuffleSplit'对象不可迭代”的原因可能是啥?
Python - TypeError:'int'对象不可迭代