本文整理汇总了Python中structure.Structure.get_fk_referenced_table方法的典型用法代码示例。如果您正苦于以下问题:Python Structure.get_fk_referenced_table方法的具体用法?Python Structure.get_fk_referenced_table怎么用?Python Structure.get_fk_referenced_table使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类structure.Structure
的用法示例。
在下文中一共展示了Structure.get_fk_referenced_table方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _get_fk_data
# 需要导入模块: from structure import Structure [as 别名]
# 或者: from structure.Structure import get_fk_referenced_table [as 别名]
def _get_fk_data(self, table_name, fk, fk_value):
reltable = Structure.get_fk_referenced_table(table_name, fk)
reltable_pk = Structure.get_primary_key(reltable)
if not self._cache.relation_exists(table_name, reltable):
sql = SQLBuilder(reltable)
sql.add_where_literal(Column(reltable, reltable_pk).in_(self._cache.get_all_keys(table_name, fk)))
data = Query().execute_and_fetch(**sql.build_select())
self._cache.save_relation(table_name, reltable, data)
return Row(self._cache.get_relation_row(reltable, reltable_pk, fk_value), reltable, self)
示例2: __getattr__
# 需要导入模块: from structure import Structure [as 别名]
# 或者: from structure.Structure import get_fk_referenced_table [as 别名]
def __getattr__(self, attr):
self._check_deleted()
if Structure.is_foreign_key(self._table_name, attr):
if self._result_set:
return self._result_set._get_fk_data(self._table_name, attr, self.data[attr])
else:
reltable = Structure.get_fk_referenced_table(self._table_name, attr)
reltable_pk = Structure.get_primary_key(reltable)
sql = SQLBuilder(reltable)
sql.add_where_condition(reltable_pk, self.data[attr])
data = Query().execute_and_fetch(**sql.build_select())
return Row(data[0], reltable)
else:
self._check_relation_exists(attr)
pk = self._get_pk()
if self._result_set:
return self._result_set._get_rel_data(self._table_name, attr, pk, self.data[pk])
else:
self._restricted_table_attr = attr
from restricted import RestrictedTableSelect
return RestrictedTableSelect(attr, SQLBuilder(attr), self)