小编Nac*_*yes的帖子

ProgrammingError:列"X"的类型为double precision,但表达式的类型为numeric []

我正在尝试使用Django Rest Framework和Psycopg2库编写API.此API适用于PostgreSQL数据库.我需要在此数据库中存储2个浮点数组字段,因为API使用2个传感器将数据流式传输到Android应用程序,它们以两个数组存储在APP中,并由JSON发送到API REST.

这些是我的models.py,serializers.py和views_api.py:

Models.py

class DataTest(models.Model):
  patient = models.ForeignKey(Patient)
  label = models.CharField(max_length=36)
  angle_data = ArrayField(models.FloatField())
  emg_data = ArrayField(models.FloatField())
  created_at = models.DateTimeField(auto_now_add=True)
  modified_at = models.DateTimeField(auto_now=True)

  def __unicode__(self):
    return self.patient
Run Code Online (Sandbox Code Playgroud)

Serializers.py

class DataTestSerializer(serializers.Serializer):
  pk = serializers.IntegerField(read_only=True)
  label = serializers.CharField()
  angle_data = serializers.ListField(child=serializers.FloatField())
  emg_data = serializers.ListField(child=serializers.FloatField())
  patient = serializers.PrimaryKeyRelatedField(queryset=Patient.objects.all())

  def create(self, validated_data):
    return DataTest.objects.create(**validated_data)

  def update(self, instance, validated_data):
    instance.label = validated_data.get('label', instance.label)
    instance.angle_data = validated_data.get('angle_data', instance.angle_data)
    instance.emg_data = validated_data.get('emg_data', instance.emg_data)
    instance.patient = validated_data.get('patient', instance.patient)
    instance.save()
    return instance
Run Code Online (Sandbox Code Playgroud)

api.py

class DataTestList(APIView):

  def …
Run Code Online (Sandbox Code Playgroud)

python postgresql precision psycopg2 django-rest-framework

8
推荐指数
1
解决办法
1000
查看次数