python – 如何使用sqlalchemy将初始数据加载到数据库中

前端之家收集整理的这篇文章主要介绍了python – 如何使用sqlalchemy将初始数据加载到数据库中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我希望能够在使用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)
原文链接:https://www.f2er.com/python/439568.html

猜你在找的Python相关文章