0

我在表中models.py的列中有以下代码。selected_serivesUser

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 字段,或者我做棉花糖验证错了吗?或者,我是否以错误的方式传递数组的值?任何形式的帮助或建议将不胜感激。

4

0 回答 0