下面我有一个 Flask-SQLAlchemy
表模型 User
。
class User(db.Model):
__tablename__ = 'user'
user_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(30), nullable=False)
created_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP"))
updated_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP"))
def __init__(self):
#self.name = name
self.name = None
def add_user(self, name):
self.name = name
这里 add_user
是自定义方法。因此,如果我调用 add_user
方法,它应该将名称添加到 User
表中。
同样,如何在该模型本身中为 CRUD 操作编写自定义方法?
原文由 Kumaran 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可能希望使用类方法来完成此操作。
这样您就可以使用
User.create(name="kumaran")
创建一个将提交给数据库的新用户。更好的是,为这个方法和其他类似的方法创建一个 mixin 是一个好主意,这样该功能可以很容易地在您的其他模型中重用:
然后,您可以通过使用多重继承在模型中重用此功能,如下所示: