I add data the db.sqlite by sql script. For get access to the table:
engine = create_engine('sqlite:///' + os.path.join(APP_ROOT, 'db.sqlite'))
session = scoped_session(sessionmaker(bind=engine))
metadata = MetaData()
metadata.reflect(engine)
Base = automap_base(metadata=metadata)
Base.prepare()
session.query(Base.classes[tablename])
db.sqlite has object view "view_xxx" which created by sql script. How can I get acсess to the view?
engine = create_engine('sqlite:///' + 'db.sqlite')
session = Session(engine)
metadata = MetaData()
metadata.reflect(engine)
QUERY_TO_DB = 'SELECT * FROM property_1, property_2'
class CreateView(Executable, ClauseElement):
def __init__(self, name, select):
self.name = name
self.select = select
@compiles(CreateView)
def visit_create_view(element, compiler, **kw):
return "CREATE VIEW %s AS %s" % (
element.name,
element.select)
try:
with engine.connect() as conn, conn:
createview = CreateView('name_view', QUERY_TO_DB)
conn.execute(createview)
except Exception as e:
print('Failed to create view: ', e)