gpt4 book ai didi

django - SQLAlchemy 模型 Django 喜欢保存方法吗?

转载 作者:行者123 更新时间:2023-12-03 21:22:22 26 4
gpt4 key购买 nike

我正在为一个项目使用 sqlalchemy。不过,我更习惯于Django的ORM。

我想知道在 sqlachemy ORM 中是否有任何类似于 Django 模型的 save() 方法,我可以覆盖它以在“提交”/“保存”时自动实现操作。

最佳答案

您可以使用一些简单的 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

然后,您可以根据需要保存或销毁模型:
user = User('example@example.com')
user.save()

关于django - SQLAlchemy 模型 Django 喜欢保存方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31584974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com