6

使用 sqlalchemy 将数据插入数据库非常容易。

address.name = 'Joe'
address.age = 26
session.add(address)

但实际上我有三个表 - 我如何指定要插入数据的表?

4

2 回答 2

25

我通过使用 sql 表达式语言添加新行解决了这个问题:

engine.execute(table_addresses.insert(), name='Joe', age=20)
engine.execute(table_contacts.insert(), email='joe@something.com', cellnumber='267534320')

通常我使用 ORM,但在我的情况下它更方便。

于 2012-11-05T22:55:23.350 回答
10

您可能想查看sqlalchemy ORM 教程

不过,为了让你开始,我怀疑你会想要设置类似下面的东西。

from sqlalchemy import Column, Integer, String
class Address(Base):
    __tablename__ = 'addresses'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

    def __init__(self, name, age):
        self.name = name
        self.age = age

现在,由于您似乎已经知道如何获得会话,因此您可以这样做

address = Address('Joe', 26)
session.add(address)

尽管您可能只是尝试即时执行此操作,但它可能不会让您的生活更轻松,因为您仍然必须告诉它哪些对象与整数、字符串等相关,才能映射到数据库表。

于 2012-11-03T17:57:16.400 回答