Получить значения после прохождения через декораторы типов для событий orm в sqlalchemy - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь создать контрольный журнал для моей базы данных с событиями orm, в настоящее время перехватывая данные в событиях after_update, insert, delete.Затем запишите это в after_commit.

Это прекрасно работает по большей части.Я получаю значения записей с помощью метода dict .Единственная проблема с этим состоит в том, что он дает мне значения перед bind_processor в моем декораторе типов.

Так что мой вопрос такой.Можно ли получить значения объекта записи orm с применением bind_processor?

1 Ответ

0 голосов
/ 12 декабря 2018

Так что мне удалось найти решение, я чувствую, что должен быть более простой способ получить данные после bind_processor, но это делает работу.

Я добавил этот метод в свой подпунктКласс базовый.

def bind_processed_dict(self):
    """Returns a dictionary of all column values after going through their bind processor"""
    value_dict = self.__dict__
    ret_dict = {}
    for col_name, col in self.__table__.columns.items():
        bindprocessor = col.type.bind_processor(dialect=engine.dialect)

        val = value_dict[col_name]
        if bindprocessor is not None:
            val = bindprocessor(val)

        ret_dict[col_name] = val

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