12

SqlAlchemy で常に 2 つのステップでそれを行う必要があるのはなぜですか?

import sqlalchemy as sa
import sqlalchemy.orm as orm

engine = sa.create_engine(<dbPath>, echo=True)
Session = orm.sessionmaker(bind=engine)
my_session = Session()

なぜ私は一発でそれを行うことができないのですか (それはもっと簡単かもしれませんね?):

import sqlalchemy as sa
import sqlalchemy.orm as orm

engine = sa.create_engine(<dbPath>, echo=True)
Session = orm.Session(bind=engine)
4

2 に答える 2

1

最も一般的な意味では、セッションはデータベースとのすべての会話を確立し、その存続期間中にロードまたは関連付けられたすべてのオブジェクトの「保持ゾーン」を表します。Query オブジェクトを取得するためのエントリポイントを提供します。このオブジェクトは、Session オブジェクトの現在のデータベース接続を使用してデータベースにクエリを送信し、結果行をオブジェクトに入力してから、Session 内の Identity Map と呼ばれる構造内に格納します。各オブジェクトの一意のコピー。「一意」とは、「特定の主キーを持つ 1 つのオブジェクトのみ」を意味します。

pprint中身を見てみてください。

import pprint
pprint.pprint(my_session)

ストーリーの残りは次のとおりです。http://docs.sqlalchemy.org/ru/latest/orm/session.html

于 2013-04-01T19:58:27.353 に答える