def _vw_opt_flds_select_json(self, opt_tbl, vw_opt_fields): ret = [] args = Storage( rname = opt_tbl._rname or opt_tbl._tablename, tbl= opt_tbl._entopt.vw_pref or opt_tbl._tablename ) if opt_tbl._entopt.type=='list': name_str_json = 'row_to_json(%(rname)s.*) AS %(vw_name)s' args.vw_name = args.tbl ret.append(name_str_json % args) fld = Field(args.vw_name, 'json') fld._entopt=Storage(vw_name = args.vw_name, is_optrow = True) vw_opt_fields.append(fld) else: name_str = '%(rname)s.%(fld)s AS %(vw_name)s' for fld in opt_tbl: if fld is opt_tbl._entopt.own_FK: continue args.fld = fld.name if not hasattr(fld, '_entopt'): fld._entopt = Storage() if fld._entopt.vw_name: args.vw_name = fld._entopt.vw_name else: args.vw_name = fld._entopt.vw_name = '%(tbl)s_%(fld)s' % args vw_opt_fields.append(fld) ret.append(name_str % args) return ret
def _vw_opt_fld_name(fld): pref_fld_str = '%(tbl)s_%(fld)s' fld_str = '%(vw_name)s' opt_tbl=fld._table args = Storage(tbl = hasattr(opt_tbl, '_entopt') and opt_tbl._entopt.vw_pref or opt_tbl._tablename ) args.fld=fld.name args.vw_name = hasattr(fld, '_entopt') and fld._entopt.vw_name name_str = args.vw_name and fld_str or pref_fld_str return name_str % args
def _vw_opt_flds_select(self, opt_tbl, vw_opt_fields): name_str = '%(rname)s.%(fld)s AS %(vw_name)s' ret = [] args = Storage( rname = opt_tbl._rname or opt_tbl._tablename, tbl= opt_tbl._entopt.vw_pref or opt_tbl._tablename ) for fld in opt_tbl: if fld is opt_tbl._entopt.own_FK: continue args.fld = fld.name if not hasattr(fld, '_entopt'): fld._entopt = Storage() if fld._entopt.vw_name: args.vw_name = fld._entopt.vw_name else: args.vw_name = fld._entopt.vw_name = '%(tbl)s_%(fld)s' % args vw_opt_fields.append(fld) ret.append(name_str % args) return ret