gpt4 book ai didi

python - App Engine Standard 上的 Postgres - 插入时出错

转载 作者:行者123 更新时间:2023-11-29 12:25:19 24 4
gpt4 key购买 nike

App Engine 标准仅支持 python 2,库必须是纯 python,因此我使用 SQLAlchemy 和 pg8000 连接到 Postgres 实例(纯 python 而不是 psycopg2)。连接没有任何问题,但是当尝试插入时,我收到以下我不完全理解的错误:

<type 'memoryview'> has type <type 'memoryview'>, but expected one of: str, unicode

导致此行为的代码片段:

event = self.generate_view(body)
self.write_event(event, ViewEvent)

def write_event(self, event, event_model):
session = Session()
success = False
try:
new_event = event_model(**event)
session.add(new_event)
session.commit()
logging.info('Generated event {}'.format(event))
success = True
except Exception, e:
session.rollback()
logging.debug('Error inserting event {}'.format(event))
logging.debug('Error was {}'.format(e))
finally:
session.close()
return success

任何帮助将不胜感激 - 或者如果您已成功将 Postgres 连接到 App Engine Standard,除了使用 pg8000 之外,我愿意接受任何替代解决方案。

最佳答案

可能您需要将 ssl=True 添加到您的数据库连接。

pg8000.connect(ssl=True, **config)

或者在 SQLAlchemy 中:

create_engine('postgresql+pg8000://user:pass@hostname/dbname', connect_args={'ssl': True}, echo=True)

关于python - App Engine Standard 上的 Postgres - 插入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42529622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com