2013-07-30 60 views
0

如何将行添加到我的数据库表中,使用sqlalchemy? 我用下面的代码:将行添加到声明表sqlalchemy

for i in range(count): 
     name = Utils.uniqID() 
     class name(Base): 
      __tablename__ = name 
      first = Column(Integer, primary_key = True) 
      second = Column(String) 
      third = Column(String) 

      def __init__(self, first = None, second = None, third = None): 
       self.first = first 
       self.second = second 
       self.third = third 

     Base.metadata.create_all(engine) 

我想旁边的代码添加行:

def insertRandomRows(engine, table, count): 
    rows = [] 
    for i in range(count): 
     rows.append(table('af', 'adf', 'adf')) 
    sessionmaker(bind = engine)().add_all(rows) 
    enter code here 

但他们并没有出现在数据库

回答

0

解决方案:

def insertRandomRows(engine, table, count): 
    rows = [] 
    for i in range(count): 
     rows.append(table(randstr(), randstr(), randstr())) 
    session = sessionmaker(bind = engine)() 
    session.add_all(rows) 
    session.commit() 
    session.close()