在django中,您有fixtures,它允许您在创建表时使用数据轻松预填充数据库.我觉得这很有用,特别是当你有基本的“查找”表时,例如product_type,student_type只包含几行甚至是一个像货币一样的表格,它们会加载世界上所有的货币而不必在销毁模型/类时反复键入它们.
我目前的应用程序不使用django.我有sqlAlchemy.我怎样才能实现同样的目标?我希望应用程序知道数据库是第一次创建,因此它会使用数据填充一些表.
最佳答案
我使用事件监听器在创建表时使用数据预填充数据库.
原文链接:https://www.f2er.com/python/439568.html假设您的代码中有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)