我希望能够在使用sqlAlchemy创建表时自动加载数据.
在django中,您有fixtures,它允许您在创建表时使用数据轻松预填充数据库.我觉得这很有用,特别是当你有基本的“查找”表时,例如product_type,student_type只包含几行甚至是一个像货币一样的表格,它们会加载世界上所有的货币而不必在销毁模型/类时反复键入它们.
我目前的应用程序不使用django.我有sqlAlchemy.我怎样才能实现同样的目标?我希望应用程序知道数据库是第一次创建,因此它会使用数据填充一些表.
最佳答案我使用事件监听器在创建表时使用数据预填充数据库.假设您的代码中有ProductType模型:
class ProductType(Base): __tablename__ = 'product_type' ID = Column(Integer,primary_key=True) name = Column(String(100))
首先,您需要定义一个回调函数,该函数将在创建表时执行:
def insert_data(target,connection,**kw): connection.execute(target.insert(),{'ID': 1,'name':'spam'},{'ID':2,'name': 'eggs'})
然后你只需添加事件监听器:
event.Listen(ProductType.__table__,'after_create',insert_data)
总结 以上是内存溢出为你收集整理的python – 如何使用sqlalchemy将初始数据加载到数据库中全部内容,希望文章能够帮你解决python – 如何使用sqlalchemy将初始数据加载到数据库中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)