python - 当我自己的列更改时更新我推荐的 SQLAlchemy 列
问题描述
每当我的 wallet_1 被 +1 或任何值修改时,如果我的 wallet_2 被修改为 + 1 或任何值,我想获取该值并将其添加到我的推荐钱包的 wallet_3 中,即 (Joshua wallet_3)。
def User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String)
my_referral = db.Column(db.String) #referral = Joshua
def Wallet(db.Model):
id = db.Column(db.Integer, primary_key=True)
wallet_1 = db.Column(db.Float, default=0.0)
wallet_2 = db.Column(db.Float, default=0.0)
wallet_3 = db.Column(db.Float, default=0.0)
解决方案
首先,你为什么不使用类来构建数据库模型?
根据我在 sqlalchemy docs上找到的内容,尝试这种方法。
If you want to even update wallet3 based on what's happening in wallet2
- 您可以随时设置一些功能,例如 update_wallet。例如。update_wallet2 等...它们将相互引用。我无权访问您的应用程序和整个环境,从我的角度来看,这是我能提供的最大帮助。停止推测,过度思考它,然后尝试设置这些功能,然后测试和调试直到成功。
def update_wallet(context):
return context.get_current_parameters()['wallet_1']
# every function gonna follow the same pattern
def update_wallet3(context):
return context.get_current_parameters()['wallet_2']
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String)
referral = db.Column(db.String)
class Wallet(db.Model):
id = db.Column(db.Integer, primary_key=True)
wallet_1 = db.Column(db.Float, default=0.0)
wallet_2 = db.Column(db.Float, default=0.0, onupdate=update_wallet)
wallet_3 = db.Column(db.Float, default=0.0, onupdate=update_wallet3)
因此,当 wallet_1 列上出现 INSERT 或 UPDATE 语句时,将触发 update_wallet 函数。它正在检索给定的值,并为 wallet_2 插入/更新它。
就像我之前提到的,仔细尝试通读 sqlalchemy 文档。祝你好运。
推荐阅读
- reactjs - 在反应中从另一个减速器修改状态
- linux - 无法检测到 USB 摄像头
- xpath - 如何处理没有文本的节点?
- html - 单选按钮。复选框在物化 css 中的表格内不可见
- regex - 如何使用 htaccess 为特定域重定向目录?
- c# - 双显示模式下没有分辨率变化
- javascript - 提交redux表单时不可见的reacaptcha位置问题
- node.js - code=H10 desc="App crashed" method=GET path="/",试图在heroku上上传我的项目
- zurb-foundation - Zurb Foundation 的手风琴不兼容 WAI
- regex - 带有双标签的正则表达式到马赫合并代码