我从我的本地机器,一个人的id和名字传递到一个ubuntu服务器。然后这些信息将被读取并传递到数据库。我正在使用下面的代码,但不知何故我无法完成。我对这一切都不熟悉,所以不知道我错过了什么

@app.route("/personInformation", methods=['POST'])
def parsingData():

        data = request.get_json(force=True)
        personID = data['person_id']
        personName = data['person_name']

        import pandas as pd
        import sqlalchemy as sql
        import sqlalchemy.orm as orm

        db=sql.create_engine(connectionString)
        metadata = sql.schema.MetaData(bind=db,reflect=True)
        table = sql.Table('patient_all_info', metadata, autoload=True)

        class Row(object):
            pass
        rowmapper = orm.Mapper(Row,table)
        Sess = orm.sessionmaker(bind = db)
        session = Sess()
        row1 = Row()
        row1.person_id = personID
        row1.person_name = personName
        session.add(row1)
        session.commit()
        return "sent, no error"

最佳答案

你能试试下面的构造吗?我把它改编自我的一个项目。

from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

Base = declarative_base()
engine = create_engine(connstring)
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
conn = engine.connect()
metadata = MetaData()

SomeDataTable = Table('TableName', metadata,
    Column('Column1', Integer, primary_key=True),
    Column('Column2', String(250), nullable=False),
    schema = 'schema_name'
)

stmt = SomeDataTable.insert().values([{"Column1": 1},{"Column2": "test"}])
conn.execute(stmt)

关于python - 在 flask 中使用SQL炼金术将数据插入Postgres,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54435894/

10-11 07:41
查看更多