def get(self, id=None): if id: categories = Category.objects(parent=id) return json.loads(categories.to_json()) else: category = Category.objects() return json.loads(category.to_json())
def post(self): try: CategorySchemaWrite().load(request.json) except ValidationError as e: return str(e) category = Category(**request.json) category.save() return CategorySchemaRead().dump(category)
def handle_categories(message: Message): root_categories = Category.get_root_categories() kb = inline_kb_from_iterable(constants.CATEGORY_TAG, root_categories) bot.send_message( message.chat.id, 'Выберите категорию', reply_markup=kb )
def post(self): try: CategorySchema().load(request.json) except ValidationError as e: return {'text': str(e)} categories = Category(**request.json) categories.save() categories.reload() return CategorySchema().dump(categories)
def handle_categories(message): """ Если пользователь жмет кнопку КАТЕГОРИЙ, идет поиск соответствия в словаре START_KB по конкретной категории и если текст равен категории, которая будет обслуживаться данным хэндлером выдается квэрисет категирий. Следует обратить внимание что категории должны быть рутовые (корневые), так как основная категория будет в первоначальном списке """ root_category = Category.get_root_categories() kb = inline_kb_from_iterable(constance.CATEGORY_TAG, root_category) bot.send_message( message.chat.id, constance.CHOICE_CATEGORY, reply_markup=kb )
def add_group(): if request.method == "GET": categories = Category.objects data = { "categories": categories, } return render_template('/add_group.html', **data) else: data_form = dict(request.form) category = Category() category.title = data_form['name'] category.save() if data_form['parent']: parent = Category.objects.get(id=data_form['parent']) category.parent = parent category.save() parent.add_subcategory(category) parent.save() return redirect(url_for('.index'))
def create_category(list_data): for i in list_data: try: Category.objects.get(title=i['title']) continue except DoesNotExist: Category(title=i['title'], description=i['description']).save() for cat in list_data: sub_category = Category.objects.get(title=cat['title']) try: category = Category.objects.get(title=cat['parent']) except DoesNotExist: continue if sub_category not in category.subcategories: category.add_subcategory(sub_category) return 'Categories created'
def get(self, id=None): if id: return CategorySchemaRead().dump(Category.objects.get(id=id)) else: return CategorySchemaRead().dump(Category.objects(), many=True)
def delete(self, id): categories = Category.objects(id=id) categories.delete() text = f'Категория удалена' return text