Berikut adalah contoh manfaat yang diberikan flask-sqlalchemy lebih dari sqlalchemy biasa.
Misalkan Anda menggunakan flask_user.
flask_user mengotomatiskan pembuatan dan otentikasi objek pengguna, sehingga perlu mengakses database Anda. Kelas UserManager melakukan ini dengan memanggil sesuatu yang disebut "adapter" yang mengabstraksi panggilan database. Anda menyediakan adaptor di konstruktor UserManager, dan adaptor harus mengimplementasikan fungsi-fungsi ini:
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
Jika Anda menggunakan flask-sqlalchemy, Anda dapat menggunakan SQLAlchemyAdapter bawaan. Jika Anda menggunakan sqlalchemy (bukan-flask-sqlalchemy), Anda mungkin membuat asumsi yang berbeda tentang cara penyimpanan objek ke database (seperti nama tabel) sehingga Anda harus menulis kelas adaptor Anda sendiri.
flask-sqlalchemy
lebih tua polossqlalchemy
dalam aplikasi Flask?