Inventree Python API:如何列出所有零件类别

有关我们使用 YAML 配置文件创建 api 对象的方法,请参见我们之前的文章 Inventree Python API:使用 YAML 配置的最小 API 连接示例

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>}

Check out similar posts by category: InvenTree, Python