SQLAlchemy Model Django喜欢Save Method吗?

Dav*_*mic 14 django sqlalchemy django-models

我正在使用sqlalchemy进行项目.但是,我更习惯于Django的ORM.

我想知道,在sqlachemy ORM中,是否有类似于Django模型的save()方法,我可以覆盖以在'commit'/'save'时自动实现操作.

Con*_*nor 18

您可以使用一些简单的crud方法扩展模型,以实现与Django ORM/ActiveRecord类似的操作:

# SQLAlchemy db_session setup omitted
...

Model = declarative_base(name='Model')
Model.query = db_session.query_property()

class CRUD():

     def save(self):
         if self.id == None:
             db_session.add(self)
         return db_session.commit()

      def destroy(self):
          db_session.delete(self)
          return db_session.commit()

class User(Model, CRUD):
    __tablename__ = 'users'
    id = db.Column(db.integer, primary_key=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, email):
        self.email = email
Run Code Online (Sandbox Code Playgroud)

然后,您可以根据需要保存或销毁模型:

user = User('example@example.com')
user.save()
Run Code Online (Sandbox Code Playgroud)


Ern*_*Ten 5

可能,您正在寻找ORM events

查看实例事件会话事件