[英]Postgres on App Engine Standard - Error on insert
App Engine标准仅支持python 2,并且库必须是纯python,所以我正在使用SQLAlchemy和pg8000(纯python而不是psycopg2)连接到Postgres实例。 建立连接没有任何麻烦,但是当尝试插入时,出现以下我不完全理解的错误:
<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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.