Что такое «инструментарий» в контексте SQLAlchemy? - PullRequest
5 голосов
/ 14 марта 2012

В учебном пособии по SQLAlchemy , в нем упоминается "инструментарий", но, по-видимому, он не определяет должным образом, что такое инструментарий:

Эти атрибуты класса существуют как дескрипторы Python и определяют инструментарийдля сопоставленного класса.Функциональные возможности этого инструментария включают возможность запуска событий изменений, отслеживания изменений и автоматической загрузки новых данных из базы данных при необходимости.

Что такое инструментарий в этом контексте?

1 Ответ

7 голосов
/ 14 марта 2012
Инструментарий

- это процесс присоединения атрибутов к классу, которые реализованы как Дескрипторы Python (эта ссылка упоминается в этом предложении), так что любой атрибут получает, устанавливает или удаляет операцию, то есть:

# __get__
print myobject.someattribute

# __set__
myobject.someattribute = "foo"

# __del__
del myoject.someattribute

... будет вызывать код Python для каждого события, а не использовать поведение Python по умолчанию для прямого доступа к myobject.__dict__.SQLAlchemy использует эти ловушки для обеспечения поведения, такого как отложенная загрузка , а также для записи изменений значения атрибута с целью реализации шаблона единицы работы ,где только те элементы, которые изменились, свернуты в операторы UPDATE, которые будут отправлены в базу данных при сбросе.

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