我在postgres数据库中有以下字段:ArrayField(models.IntegerField(),default = list)。
当我从发布请求发送数据时,我收到以下错误: int()的基数为10的无效文字:' [176,68]'
虽然发送的数据是价格:[176,68] 这是我的价格序列化器:
class StringArrayField(ListField):
"""
String representation of an array field.
"""
def to_representation(self, obj):
obj = super().to_representation( obj)
# convert list to string
return ",".join([(element) for element in obj])
def to_internal_value(self, data):
return super().to_internal_value( data)
class MySerializer(serializers.ModelSerializer):
price = StringArrayField()
class Meta:
model = myModel
fields =('price')
答案 0 :(得分:0)
您必须将child
序列化程序传递到列表字段。
price = serializers.ListField(
child=serializers.IntegerField(min_value=0, max_value=100)
)