Я создал следующий класс
Это, кажется, дает мне доступ к схеме таблицы, но не к самой таблице. Большинство примеров, которые я вижу, включая приведенный в руководстве, соответствуют коду, который использовался для создания таблиц
class DataBase:
def __init__(self,user, password, db, host='localhost', port=5432):
'''Initializes the connection and a metadata objects'''
# We connect with the help of the PostgreSQL URL
# postgresql://federer:grandestslam@localhost:5432/tennis
url = 'postgresql://{}:{}@{}:{}/{}'
url = url.format(user, password, host, port, db)
# The return value of create_engine() is our connection object
self.engine = sqlalchemy.create_engine(url, client_encoding='utf8', echo=False) #echo=True enable logging (This is Python loggin module)
self.conn=self.engine.connect()
# We then bind the connection to MetaData()
self.meta = sqlalchemy.MetaData(bind=self.con, reflect=True)
А потом я использую
if __name__ == '__main__':
db=DataBase('nme','nme','nme')
db.meta.tables['tablename']
Но это дает мне доступ к схеме таблицы
Я хочу вставить запись в эту таблицу после того, как таблица была создана
Редактировать: это сработало, спасибо
known_devices=Table('known_devices',self.meta,autoload=True)
ins=known_devices.insert().values(
....
)
result=self.conn.execute(ins)