<floatfield'>不是JSON可序列化的

时间:2016-08-10 08:55:10

标签: python django rest django-rest-framework

我目前正在学习Django,我尝试创建一个简单的模型并在API中公开它。

  

FloatField'不是JSON可序列化的

只有在我将float更改为string时才有效。

当我调用api来检索模型对象时,我收到错误:

我将模型定义如下:

class RunSession(models.Model):

   name = models.CharField(max_length=100, blank=True, default='')
   miles = models.FloatField
   duration = models.FloatField
   created=  models.DateTimeField(auto_now_add=True, blank=True)

串行:

class RunSessionSerializer(serializers.ModelSerializer):

  class Meta:
     model = RunSession
     fields = ('created', 'name', 'miles', 'duration', )

视图集:

class RunSessionViewSet(viewsets.ModelViewSet):

  queryset = RunSession.objects.order_by('created')
  serializer_class = RunSessionSerializer

1 个答案:

答案 0 :(得分:4)

您正在传递原始字段对象而不是实例化它们。实例化它们:

miles = models.FloatField(...)
#                        ^^^^^