Пожалуйста, посмотрите на приведенный ниже код
class MyStudent:
def __init__(self, student_id, student_name):
self._student_id = student_id
self._student_name = student_name
def get_student_id(self):
return self._student_id
def get_student_name(self):
return self._student_name
student1 = MyStudent(student_id=123, student_name="ABC")
student1.get_student_id()
student1.get_student_name()
Я хотел бы запустить некоторый код, например, добавить студента в БД всякий раз, когда вызывается student1.get_student_id()
или student1.get_student_name()
(или когда Доступ к get (). Пожалуйста, исправьте меня, если я использовал неправильный дескриптор). И я должен делать это через декораторы только для нескольких классов, как показано ниже
@save_student_to_db
class MyStudent:......
Как этого можно добиться с помощью декораторов? Мне нужно использовать один декоратор для нескольких классов, которые могут иметь любой метод. Всякий раз, когда любой метод (кроме тех, которые начинаются с _ или __) любого класса вызывается, декоратор должен сохранять данные в DB