我目前正在学习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
答案 0 :(得分:4)
您正在传递原始字段对象而不是实例化它们。实例化它们:
miles = models.FloatField(...)
# ^^^^^