列出现有 entries/tuples 的所有零件表的替代方法

Alternative way to list all part tables that have existing entries/tuples

我有一个主主题 table,它有几个部分 table。 Table.delete() 的一个方便之处在于它会显示一个提示,其中包含在该主题下创建的所有现有条目。除了 delete() 之外,还有其他方法可以打印在单个主题条目下创建了哪些部分 table 条目吗?

谢谢

这是一个缓慢的过程,但我想我会执行以下操作以查看条目在哪里:

(subject.Subject & 'subject="<NAME>"').descendants(as_objects=True)

不确定 children(降低 1 级)或 descendants(一直降低)是否更好。 delete 给出完整的后代集合,使用 table.delete_quick(get_count=True).

编辑: 要获得计数,您可能需要:

[print(i.table_name,len(i)) for i in (subject.Subject & 'subject="<NAME>"').descendants(as_objects=True)]

要获取受某些限制(例如subject_name)限制的所有部分表的条目数,您可以这样做:

restriction = {'subject_name': 'my_star_subject'}

for part_table in Subject.parts(as_objects=True):
    part_table_query = part_table & restriction
    print(f'{part_table.table_name}: len(part_table_query)')