def query_all(by_count=False, by_order=True, kind='1'): if by_count: recs = g_Tag.select().where(g_Tag.kind == kind).order_by( g_Tag.count.desc()) elif by_order: recs = g_Tag.select().where(g_Tag.kind == kind).order_by( g_Tag.order) else: recs = g_Tag.select().where(g_Tag.kind == kind).order_by(g_Tag.uid) return recs
def get_qian2(qian2): ''' 用于首页。根据前两位,找到所有的大类与小类。 :param qian2: 分类id的前两位 :return: 数组,包含了找到的分类 ''' return g_Tag.select().where(g_Tag.uid.startswith(qian2)).order_by( g_Tag.order)
def get_by_slug(slug): ''' return the category record . :param slug: :return: ''' uu = g_Tag.select().where(g_Tag.slug == slug) if uu.count() > 0: return uu.get() else: return None
def create_tag(tag_name, kind='z'): cur_count = g_Tag.select().where((g_Tag.name == tag_name) & (g_Tag.kind == kind)).count() if cur_count > 0: g_Tag.delete().where((g_Tag.name == tag_name) & (g_Tag.kind == kind)).execute() uid = tools.get_uu4d_v2() while g_Tag.select().where(g_Tag.uid == uid).count() > 0: uid = tools.get_uu4d_v2() g_Tag.create( uid=uid, slug=uid, name=tag_name, order=1, count=0, kind='z', tmpl=9, pid='zzzz', ) return uid
def create_tag_with_uid(uid, tag_name): if g_Tag.select().where(g_Tag.uid == uid).count(): return False g_Tag.create( uid=uid, slug=uid, name=tag_name, order=1, count=0, kind='z', tmpl=9, pid='zzzz', ) return uid
def get_id_by_name(tag_name, kind='z'): recs = g_Tag.select().where((g_Tag.name == tag_name) & (g_Tag.kind == kind)) logger.info('tag count of {0}: {1} '.format(tag_name, recs.count())) if recs.count() == 1: return recs.get().uid elif recs.count() > 1: idx = 0 rec0 = None for rec in recs: rec0 = rec # Only keep one. if idx == 0: pass else: g_Post2Tag.delete().where( g_Post2Tag.tag == rec.uid).execute() g_Tag.delete().where(g_Tag.uid == rec.uid).execute() idx += 1 return rec0.uid else: return MLabel.create_tag(tag_name)
def get_by_slug(tag_slug): uu = g_Tag.select().where(g_Tag.slug == tag_slug) if uu: return uu.get() else: return False
def query_field_count(limit_num, kind='1'): return g_Tag.select().where(g_Tag.kind == kind).order_by( g_Tag.count.desc()).limit(limit_num)
def query_pcat(**kwargs): return g_Tag.select().where(g_Tag.pid == '0000').order_by(g_Tag.order)
def query_sub_cat(pid): return g_Tag.select().where(g_Tag.pid == pid).order_by(g_Tag.order)
def query_kind_cat(kind_sig): return g_Tag.select().where((g_Tag.kind == kind_sig) & (g_Tag.pid == '0000')).order_by( g_Tag.order)
def get_parent_list(kind='1'): db_data = g_Tag.select().where((g_Tag.kind == kind) & (g_Tag.uid.endswith('00'))).order_by( g_Tag.uid) return db_data