我正在使用scrapy。我希望能够访问一个sqlalchemy会话,其中包含一个名为' contacts'根据文档(http://docs.sqlalchemy.org/en/latest/orm/session_basics.html#getting-a-session),我创建了以下内容:
engine = create_engine('sqlite:///data.db')
# create a configured "Session" class
Session = sessionmaker(bind=engine)
# create a Session
session = Session()
class ContactSpider(Spider):
.......
def parse(self, response):
print('hello')
session.query(contacts).filter_by(name='ed').all()
但是我没有看到连接到预先存在的表的方法。这是怎么做到的?
答案 0 :(得分:1)
您可以通过反射连接到预先存在的表。不幸的是,您的问题缺少一些代码设置,因此下面是一般的伪代码示例(假设您的表名为contacts
)
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
# Look up the existing tables from database
Base.metadata.reflect(engine)
# Create class that maps via ORM to the database table
Contact = type('Contact', (Base,), {'__tablename__': 'contacts'})