我正在开发一个使用Django的网站,但在序列化方面遇到了问题。以下是代码:
class DataPointSerializer(serializers.ModelSerializer):
value = serializers.DecimalField(max_digits=30, decimal_places=15)
sensor = serializers.ChoiceField(choices=list(Sensor.objects.all()))
point = serializers.ChoiceField(choices=list(MapPoint.objects.all()))
class Meta:
model = DataPoint
fields = "__all__"
def create(self, attrs, instance=None):
return DataPoint(value=attrs['value'], sensor=attrs['sensor'], point=attrs['point'])
我的 DataPoint 模型使用值作为十进制字段,传感器作为外键,另一个点也作为外键。我使用选择字段来获取已创建的对象,但从创建函数中获取 TypeError,指出(Sensor 对象)不可 JSON 序列化。我认为对于 point 也是相同的情况,但我不确定该怎么做。希望能得到任何帮助!