首页 > 解决方案 > sqlalchemy.exc.DataError:(psycopg2.errors.InvalidTextRepresentation)整数类型的无效输入语法:“无”

问题描述

我正在开发基于 Docker 映像的 Flask 中的 Web 应用程序。一张图片存储 Postgres 数据库。我正在努力插入None以下定义的整数列:

release = db.Column(db.Integer, nullable=True)

行初始化:

    def __init__(self, name: str, env: str, mode: ExecutionMode, status: ExecutionStatus, date: datetime, user_id: int,
                 release_id: int):
        self.execution_name = name
        self.environment = env
        self.execution_mode = mode
        self.execution_status = status
        self.execution_date = date
        self.user_id = user_id
        self.release = release_id

        db.session.add(self)
        db.session.commit()

调用方方法:

    if request.method == "POST":
        execution = Execution(name=data['result']['name'], env=Environment[data['result']['env']],
                              mode=ExecutionMode[data['result']['mode']],
                              status=ExecutionStatus[data['result']['status']],
                              date=datetime.datetime.strptime(data['result']['date'], "%Y-%m-%d %H:%M:%S.%f"),
                              user_id=current_user.id,
                              release_id=(data['result']['release'] if data['result'][
                                                                           'release'] != "null" else sqlalchemy.null()))

每当我遇到 Release 的值为 的情况时,None都会触发以下异常:

sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type integer: "None"

有谁知道,如何将None各自的NULL值插入数据库?

感谢您的任何帮助。

标签: pythonflasksqlalchemyflask-sqlalchemy

解决方案


问题实际上出在接受数据的表单的前端。选择框中应该有“null”的值;但是,“无”是选择的值。我错过了。看来问题已经解决了。


推荐阅读