Вызов скрипта Python из триггера SQL - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть следующий сценарий: пользователи могут войти в систему и обновить определенные таблицы, и всякий раз, когда эта таблица обновляется, я хотел бы вызывать скрипт 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 выдает ошибку: нет такой функции: FUNC_EMS

1 Ответ

0 голосов
/ 05 мая 2019

Эта задача намного проще, используя сигналы для некоторых уведомлений и комбинацию пользовательских команд управления и заданий crontab для других (напоминания о дате).Джанго потрясающий!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...