“ message”:“预期的字符串或类似字节的对象”,

时间:2020-06-21 11:29:44

标签: django django-models django-rest-framework

我希望完成会话所需的总时间,但是我遇到了上述错误,我需要更改什么?

#MODEL

class User(models.Model):
    user = models.CharField(max_length=40)


class Sport(models.Model):
    Sports_Name = models.CharField(max_length=30, null=True, blank=True)


class Session(models.Model):
    Host = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name='host')
    sports = models.ForeignKey(Sport, on_delete=models.CASCADE)
    Start_time = models.TimeField(auto_now=False, auto_now_add=False, null=True)
    End_time = models.TimeField(auto_now=False, auto_now_add=False, null=True)


class Gamification(models.Model):
    User_Name = models.ForeignKey(MyUser, on_delete=models.CASCADE)

#viewset

users = Gamification.objects.all()

b = []
for user in users:
    b.append({
        "User_Name": user.User_Name.user_name,
        'Session_Created': Session.objects.filter(Host=user.User_Name).count(),
        "Session_Joined": Session.objects.filter(Players_Participating=user.User_Name).count(),

        "Completion_Time(in days)": Session.objects.filter(End_time=user.User_Name),

    })

return Response({'success': b})

1 个答案:

答案 0 :(得分:0)

您应该使用JsonResponse而不是Response。如果要发送数组而不是JSON,请执行以下操作:

return JsonResponse(b, safe=False)