DataSource - Абстрактный источник данных¶
-
class
axioma.core.dp.
DataSource
¶ Абстрактный источник данных. Этот класс предоставляет интерфейс для работы с отдельным источником данных, например, файлом, базой данных, веб-службой, и так далее.
От него наследуются:
DatabaseSource
-
accessMode
()¶ Режим доступа к источнику данных
- Результат
только на чтение, или на чтение и запись
- Тип результата
-
-
openDataObject
(dataObjectDef)¶
-
Производится открытие объекта данных по его описанию. Для открытия источников данных лучше воспользоваться функцией
open_json()
- Параметры
dataObjectDef (
DataObjectDefinition
) – Описание объекта данных для открытия- Тип результата
Пример открытия таблицы с именем world:
objDef = NamedObjectDefinition("world") table = ds.openDataObject(objDef)
-
canRemoveEmpty
()¶ Функция необходима для определения, будет ли ли удаляться источник данных из каталога, если был удален последний объект данных из этого источника.
- Результат
True, если да. В противном случае False
- Тип результата
-
contents
()¶ Выдает перечень таблиц, которые доступны для открытия в рамках данного источника данных
- Тип результата
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
()¶ Эта функция предоставляет доступ к описанию источника данных
- Результат
описание источника данных
- Тип результата
-
dataSourceId
()¶ Идентификатор источника данных
- Результат
уникальный номер для каждого открытого источника данных
-
provider
()¶ Эта функция предоставляет доступ к провайдеру, создавшему этот источник данных
- Результат
провайдер, создавший этот источник данных
- Тип результата
-