def getMenuTable(self, request): data = request_body_to_dict(request) print(data) article_menu = ArticleMenu.objects.filter() fields = ArticleMenu().return_fields fields = fields + ['id', 'created', 'updated'] hander = lambda item: object_to_dict(fields, item) res = [hander(item) for item in article_menu] return self.xml_response_for_json( self.success_response(data=res, msg='获取成功'))
def getTopLevelArticleClassify(self, request, *args): """ 获取文章分类的顶级分类(level为1的) :param request: :param args: :return: """ query = ArticleClassify.objects.filter(level=1) fields = ['name', 'guid', 'return_all_children_count', 'isLeaf'] hander = lambda item: object_to_dict(fields, item) res = [hander(item) for item in query] data = {'items': res} return self.xml_response_for_json( self.success_response(data=data, msg='获取成功'))
def return_tree_data(): """ 返回树形结构数据 :return: """ # 查出顶级对象 top_data = ArticleClassify.objects.filter(level=1) data = [] for item in top_data: hander = lambda x: object_to_dict(['name', 'guid', 'isLeaf', 'return_all_children_count'], x) res = hander(item) res['children_list'] = item.get_true_children(item.guid, hander) data.append(res) return data
def getArticleClassifyList(self, request, *args): """ 获取文章分类(通过关键字来搜索) :param request: :param models_name: :return: """ data = request_body_to_dict(request) name = data.get('name', '') fields = ArticleClassify().get_fields() hander = lambda item: object_to_dict(fields, item) query = ArticleClassify.objects.filter(name__contains=name) res = [hander(item) for item in query] data = {'items': res, 'count': query.count()} return self.xml_response_for_json( self.success_response(data=data, msg='获取成功'))
def getArticleClassifyForGUID(self, request, *args): """ 通过GUID获取当前分类下的子分类(不返回子分类的子分类) :param request: :param args: :return: """ params = request_body_to_dict(request) parent = params.get('parent') query = ArticleClassify.objects.filter(parent=parent) fields = [ 'name', 'guid', 'return_parents', 'return_all_children_count', 'isLeaf' ] hander = lambda item: object_to_dict(fields, item) res = [hander(item) for item in query] data = {'items': res} return self.xml_response_for_json( self.success_response(data=data, msg='获取成功'))
def getCommonClassifyTag(self, *args): """ 获取常用标签(随机返回10个) :return: """ # ArticleClassify.Meta.ordering = ['?'] import random color_list = [ '#FF895D', '#31bfb9', '#FF2E63', '#00BBF0', '#AC005D', '#0D7377', '#67c23a', '#e6a23c', '#404802', '#009a61' ] random.shuffle(color_list) query = ArticleClassify.objects.filter()[:10] fields = ['name', 'guid'] hander = lambda item: object_to_dict(fields, item) res = [hander(item) for item in query] for index, item in enumerate(res): item.update({'color': color_list[index]}) # res = [item.update({'color': color_list[index]}) for index, item in enumerate(res)] random.shuffle(res) data = {'items': res} return self.xml_response_for_json( self.success_response(data=data, msg='获取成功'))