コード例 #1
0
 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
コード例 #2
0
 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
コード例 #3
0
 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