これは、flask-sqlalchemyが単純なsqlalchemyに勝る利点の例です。
フラスコ_ユーザーを使用しているとします。
Flask_userは、ユーザーオブジェクトの作成と認証を自動化するため、データベースにアクセスする必要があります。UserManagerクラスは、データベースコールを抽象化する「アダプタ」と呼ばれるものを呼び出すことによってこれを行います。UserManagerコンストラクターでアダプターを提供し、アダプターは以下の関数を実装する必要があります。
class MyAdapter(DBAdapter):
def get_object(self, ObjectClass, id):
""" Retrieve one object specified by the primary key 'pk' """
pass
def find_all_objects(self, ObjectClass, **kwargs):
""" Retrieve all objects matching the case sensitive filters in 'kwargs'. """
pass
def find_first_object(self, ObjectClass, **kwargs):
""" Retrieve the first object matching the case sensitive filters in 'kwargs'. """
pass
def ifind_first_object(self, ObjectClass, **kwargs):
""" Retrieve the first object matching the case insensitive filters in 'kwargs'. """
pass
def add_object(self, ObjectClass, **kwargs):
""" Add an object of class 'ObjectClass' with fields and values specified in '**kwargs'. """
pass
def update_object(self, object, **kwargs):
""" Update object 'object' with the fields and values specified in '**kwargs'. """
pass
def delete_object(self, object):
""" Delete object 'object'. """
pass
def commit(self):
pass
Flask-sqlalchemyを使用している場合は、組み込みのSQLAlchemyAdapterを使用できます。sqlalchemy(not-flask-sqlalchemy)を使用している場合、オブジェクトをデータベースに保存する方法(テーブルの名前など)について異なる仮定をする可能性があるため、独自のアダプタークラスを作成する必要があります。
flask-sqlalchemy
古くなっsqlalchemy
ていることを説明できますか?