我在表中models.py
的列中有以下代码。selected_serives
User
class User(UserMixin, SerializerMixin, Base):
__tablename__ = 'users'
//other column declaration
unique_device = sa.Column(sa.String, nullable=True)
selected_services = sa.Column(sa.ARRAY(sa.Integer), nullable=True)
注意,selected_services
列是ARRAY
整数列。当我通过Datagrip
. 对于Marshmallow
字段验证,它写为:
'schema': {
'selected_services': fields.List(cls_or_instance=fields.Int(), required=True)
}
现在,我必须发出一个PUT
请求,将整数数组放入正文中,并将它们放入selected_services
数据库的列中。
现在的问题是,当我在正文部分尝试PUT
来自邮递员的请求时,我无法selected_services
以数组形式传递值。它只接受单个整数。{1,2,3}
并且[1,2,3]
不起作用。当我尝试这样做时,它会引发以下错误:
{
"validation_errors": {
"selected_services": {
"0": [
"Not a valid integer."
]
}
}
}
我在这里做错了什么?也许我不应该创建一个 ARRAY 列,而是应该创建一个 JSON 字段,或者我做棉花糖验证错了吗?或者,我是否以错误的方式传递数组的值?任何形式的帮助或建议将不胜感激。