MetaTable¶
- class deepfos.core.MetaTable(cls_name, supercls, attrdict)¶
逻辑表表元类
通过类属性的指定可以自动完成树形结构的搭建。 同一棵树的不同节点的限制条件会自动传递,最终影响查询结果。
注解
使用元类的目的是为了让类可以像实例一样被使用。 若要使用实例属性,请通过ClassName.object.attr_or_method访问。
方法
common_ancestor(*others)获取最小共同祖先
遍历所有后代节点
从根节点遍历至当前节点
iter_to_descendant(descendant)遍历自身到后代节点所经过的所有节点,不包括自身。
遍历至根节点
lock(**kwargs)增加当前表的查询条件
mro()Return a type’s method resolution order.
permanent_lock(**kwargs)添加主条件并立即触发一次查询以固定条件状态
query([fields])在当前锁定条件下查询逻辑表数据
query_with_condition(cond[, fields, unique])直接以给定
SQLCondition查询当前逻辑表release()释放最近一次添加的主条件
set_parent(node)设置父节点。
set_parent_table(table, on[, alias])设置父表
temporary_lock(**kwargs)在上下文中临时添加查询条件,退出时自动释放
属性
获取全表数据,谨慎使用
异步数据表元素
子节点
数据表列名序列
所有查询条件,包括条件传递时临时添加的条件。
从数据库获取当前查询条件下的数据。
数据表元素
表中是否有通过
lock,temporary_lock,permanent_lock带入的条件。表名
父节点
兄弟节点
表与其父子表的关联关系,主要是字段信息
表查询的字段