MetaTable

class deepfos.core.MetaTable(cls_name, supercls, attrdict)

逻辑表表元类

通过类属性的指定可以自动完成树形结构的搭建。 同一棵树的不同节点的限制条件会自动传递,最终影响查询结果。

注解

使用元类的目的是为了让类可以像实例一样被使用。 若要使用实例属性,请通过ClassName.object.attr_or_method访问。

方法

common_ancestor(*others)

获取最小共同祖先

iter_descendants()

遍历所有后代节点

iter_from_root()

从根节点遍历至当前节点

iter_to_descendant(descendant)

遍历自身到后代节点所经过的所有节点,不包括自身。

iter_to_root()

遍历至根节点

lock(**kwargs)

增加当前表的查询条件

mro()

Return a type’s method resolution order.

permanent_lock(**kwargs)

query([fields])

rtype

DataFrame

query_with_condition(cond[, fields, unique])

rtype

DataFrame

release()

set_parent(node)

设置父节点。

set_parent_table(table, on[, alias])

设置父表

temporary_lock(**kwargs)

属性

all_data

获取全表数据,谨慎使用

ancestors

async_datatable

异步数据表元素

children

子节点

columns

数据表列名序列

condition

所有查询条件,包括条件传递时临时添加的条件。

data

从数据库获取当前查询条件下的数据。

datatable

数据表元素

depth

descendants

family

is_leaf

is_root

locked

表中是否有通过 lock, temporary_lock, permanent_lock 带入的条件。

name

表名

parent

父节点

root

siblings

兄弟节点

rel_info

表与其父子表的关联关系,主要是字段信息

fields

表查询的字段