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)
| 归档时间: |
|
| 查看次数: |
6303 次 |
| 最近记录: |