axioma.core.dp.
DataSource
¶Абстрактный источник данных. Этот класс предоставляет интерфейс для работы с отдельным источником данных, например, файлом, базой данных, веб-службой, и так далее.
От него наследуются: DatabaseSource
accessMode
()¶Режим доступа к источнику данных
Результат: только на чтение, или на чтение и запись Тип результата: AccessMode
openDataObject
(dataObjectDef)¶Производится открытие объекта данных по его описанию. Для открытия источников данных лучше воспользоваться функцией
open_json()
Параметры: dataObjectDef ( DataObjectDefinition
) – Описание объекта данных для открытияТип результата: DataObject
Пример открытия таблицы с именем world:
objDef = NamedObjectDefinition("world") table = ds.openDataObject(objDef)
canRemoveEmpty
()¶Функция необходима для определения, будет ли ли удаляться источник данных из каталога, если был удален последний объект данных из этого источника.
Результат: True, если да. В противном случае False Тип результата: bool
contents
()¶Выдает перечень таблиц, которые доступны для открытия в рамках данного источника данных
Тип результата: list
[DataObjectDefinition
]ds = dataProvider.openDataSource(dbDef) if ds is not None: for ci in ds.contents(): # Перечень таблиц в источнике данных print("Таблица {}".format(ci.name())) # Печатает наменование таблицы
createDataObject
(name, spec)¶Создание объекта данных на базе его описания.
Параметры:
- name (
str
) – Наименование объекта. Создание невозможно, если объект с таким именем уже существует.- spec (
QJsonObject
) – Параметры спецификации (схемы таблицы). Подробнее описаны вcreate_from_json()
Тип результата:
dataSourceDefinition
()¶Эта функция предоставляет доступ к описанию источника данных
Результат: описание источника данных Тип результата: DataSourceDefinition
dataSourceId
()¶Идентификатор источника данных
Результат: уникальный номер для каждого открытого источника данных
provider
()¶Эта функция предоставляет доступ к провайдеру, создавшему этот источник данных
Результат: провайдер, создавший этот источник данных Тип результата: DataProvider