CAttributes
Класс для взаимодействия с атрибутами объектов.
Учитывается только метаинформация по атрибутам (имя, тип), значения не учитываются.
Инициализация
Раздел для опытных пользователей
Отдельно инициализировать класс не нужно, т.к. он приходит при получении данных справочника.
from src.service_dictionary.elements.attributes import CAttributes
CAttributes(
fields: Optional[List[Dict]] = None,
create_new: bool = True,
find_hierarchy_by_name: bool = False
)
fields- массив с описанием атрибутов;create_new- флаг создания нового набора атрибутов;find_hierarchy_by_name- флаг поиска иерархии по идентификаторам атрибутов.
Можно не передавать атрибуты при инициализации, а добавить их позднее,
методами add_attributes или refresh_attributes.
Очистка класса
При ручной инициализации класса, необходимо вызвать очистку (метод .clear()) после завершения работы.
Параметры
attributes: Dict[str, CAttribute]- Словарь с атрибутами формата{<attribute_id>: <attribute>}
Свойства
empty -> bool- Флаг отсутствия элементов атрибута. Не учитывает системные атрибуты;system_attributes -> List[CAttribute]- Получение всех системных атрибутов;has_basic_hierarchy -> bool- Флаг наличия базовой иерархии;has_alt_hierarchy -> bool- Флаг наличия атрибутов, отвечающих за альтернативную иерархию;alt_hierarchy_attributes -> List[CAttribute]- Список атрибутов, отвечающих за альтернативную иерархию;structure -> Dict- Получение структуры объекта в формате:
Методы
__getitem__
Получение атрибута по его ключу. В случае отсутствия такого ключа атрибута - вернется None.
key- ключ атрибута.
__setitem__
Изменение атрибута по его ключу.
key- ключ атрибута;value- атрибут.
__len__
Получение количества атрибутов.
add_attributes
Добавление новых атрибутов.
all_id
Получение идентификаторов всех атрибутов.
clear
Очистка класса справочника, для его корректной обработки сборщиком мусора.
get_by_id
Получение атрибута по идентификатору.
has_selected_id
Проверка наличия атрибута.
primary_keys
Получение первичных ключей.
primary_keys_id
Получение идентификаторов первичных ключей.
refresh_attributes
Обновление списка атрибутов.
validate_params
Валидация параметров атрибута.
Происходит автоматически при вызове метода refresh_attributes.
serialize
Сериализация атрибутов справочника массив.
serialize_with_values
Сериализация атрибутов справочника с добавлением значений.
values- массив значений атрибутов. Сопоставление атрибута со значениями происходит по индексам.