다음은 flask-sqlalchemy가 일반 sqlalchemy에 비해 제공하는 이점의 예입니다.
flask_user를 사용한다고 가정합니다.
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 (flask-sqlalchemy가 아님)를 사용하는 경우 개체가 데이터베이스에 저장되는 방식 (예 : 테이블 이름)에 대해 다른 가정을 할 수 있으므로 자체 어댑터 클래스를 작성해야합니다.
flask-sqlalchemy
평범한 오래된 것에 대해 설명 할 수 있습니까sqlalchemy
?