6

sqlalchemy を使用してデータベースにデータを挿入するのは非常に簡単です。

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

しかし、実際には 3 つのテーブルがあります。データを挿入するテーブルを指定するにはどうすればよいでしょうか。

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 を使用しますが、私の場合は 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 に答える