【发布时间】:2019-04-29 19:57:20
【问题描述】:
我有以下场景:用户可以登录并更新某些表,并且每当更新该表时,我想调用一个 Python 脚本,该脚本将查询同一数据库以获取其他信息(连接),然后使用 Django 的电子邮件系统向该组中的所有用户(相同角色)发送该信息。
我目前的方法是在 SQLite3 中创建一个用户定义的函数,然后创建一个触发器来调用该函数(链接到 Python 文件)。这对 SQLite 可行吗?
Django 应用、SQLite 和 Python。
import sqlite3
def email_materials_submittal(project_id):
print(project_id)
con = sqlite3.connect('../db.sqlite3')
con.create_function("FUNC_EMS", 1, email_materials_submittal)
con.commit()
cur = con.cursor()
cur.execute("CREATE TRIGGER TRIG_EMS AFTER INSERT ON core_level BEGIN SELECT FUNC_EMS(NEW.project_id); END;")
con.commit()
con.close()
我希望 SQL 在向某个表中插入新行时调用外部 Python 脚本。试了上面的代码,但是SQLite报错:no such function: FUNC_EMS
【问题讨论】:
-
认为 Django Signals 是一种更简单的方法......