Skip to content
Vad Drobinin edited this page Aug 15, 2015 · 1 revision

DAO

DAO (DataAccessObject) - класс, имеющий методы, которые позволяют осуществлять корректный и простой перевод объектов из базы данных в классы, и наоборот.

DAO.columns - константа класса, указывающая какие поля ему надо предоставить в запросе. Например, columns = 'lang_id, submit_id, ...'

DAO.init(self, connector) - конструктор, запоминающий self.connector.

DAO.connector - указатель на коннектор с установленным соединением к базе данных.

DAO.load(row) - статический метод. Получает один запрос из базы данных. Возвращает созданный объект класса.

DAO.deep_load(self, row) - получает один запрос из базы данных. Дополняет load при помощи вызовов других DAO и возвращает объект класса. При обращении к базе данных самостоятельно создаёт курсоры, используя self.connector.

Ниже - params, перечисленные через запятую уникальные параметры объекта, определяющие его единственным образом.

DAO.define(self, params...) - определяет объект в базе данных. Если его нет, инициирует создание. Возвращает id.

DAO.lookup(self, params...) - определяет id объекта в базе данных. Если его нет, возвращает None.

DAO.create(self, params...) - создаёт объект в базе данных. Возвращает id.

DAO.update(self, ref, update_def) - обновляет параметры объекта с id = ref, которые присутствуют в словаре update_def.