Inventree Python API: Як вивести список усіх категорій деталей

Див. наш попередній пост Inventree Python API: Мінімальний приклад підключення до API з використанням YAML-конфігурації для нашого методу створення об’єкта api за допомогою YAML-конфігураційного файлу!

inventree_list_part_categories.py
from inventree.part import PartCategory

all_categories = PartCategory.list(api)

# Словник категорій деталей за назвою
# (напр. 'OpAmps')
part_categories_by_name = {
    category["name"]: category
    for category in all_categories
}
# Словник категорій деталей за публічним ключем (напр. 7)
part_categories_by_pk = {
    category.pk: category
    for category in all_categories
}
# Словник категорій деталей за ієрархічним шляхом
# (напр. 'Electronics-Components/ICs/OpAmps')
part_categories_by_pathstring = {
    category.pathstring: category
    for category in all_categories
}

Зверніть увагу, що цей код сам по собі не враховує ієрархію категорій.

Приклад виводу

part_categories_by_name:

inventree_part_categories_by_name.py
{'Elektronik-Komponenten': <inventree.part.PartCategory at 0x7fd735125510>,
 'ICs': <inventree.part.PartCategory at 0x7fd7356d1720>,
 'OpAmps': <inventree.part.PartCategory at 0x7fd735ead4e0>}

part_categories_by_pk:

inventree_part_categories_by_pk.py
{1: <inventree.part.PartCategory at 0x7fd7346b5db0>,
 2: <inventree.part.PartCategory at 0x7fd73438aa10>,
 3: <inventree.part.PartCategory at 0x7fd727325b40>}

part_categories_by_pathstring:

inventree_part_categories_by_pathstring.txt
{'Elektronik-Komponenten': <inventree.part.PartCategory at 0x7fd727bd3040>,
 'Elektronik-Komponenten/ICs': <inventree.part.PartCategory at 0x7fd727bd1db0>,
 'Elektronik-Komponenten/ICs/OpAmps': <inventree.part.PartCategory at 0x7fd727bd1060>}

Дивіться схожі статті за категоріями: InvenTree Python