SQLAlchemy Model Django as a save method?

I am using sqlalchemy for a project. However, I'm more used to Django ORM.

I would like to know if the sqlachemy ORM has something similar to the save () method of the Django model, which I can override to automatically take action on commit / save.

+5
source share
3 answers

You can extend your models with simple crud methods to achieve something similar to the 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 

Then you can save or destroy the model as needed:

 user = User(' example@example.com ') user.save() 
+3
source

You may be looking for ORM events .

Take a look at instance events and session events .

0
source

Good news for you!

I created a package for this. It implements the Active Record template for SQLAlchemy.

See https://github.com/absent1706/sqlalchemy-mixins#active-record

It also has many very useful features, such as Django search queries that span relationships , declarative loading, and readable print for SQAlchemy.

0
source

All Articles