хочу написать тг бота по урокам
Physics is Simple
на 7 уроке я понял что мне нужно не 4 уровневое меню, а 5 уровневое, прописал еще 1 подуровень( получилось так: category, subcategory, wsubcategory). Если полностью убираю использование wsubcategory и аналогов код работает. Как только хочу +1 уровень ничего не работает. Код при котором выдает ошибку ниже
from typing import List
from sqlalchemy import and_
from utils.db_api.models import Item
# Функция для создания нового товара в базе данных. Принимает все возможные аргументы, прописанные в Item
async def add_item(**kwargs):
new_item = await Item(**kwargs).create()
return new_item
# Функция для вывода товаров с РАЗНЫМИ категориями
async def get_categories() -> List[Item]:
return await Item.query.distinct(Item.category_code).gino.all()
# Функция для вывода товаров с РАЗНЫМИ подкатегориями в выбранной категории
async def get_subcategories(category) -> List[Item]:
return await Item.query.distinct(Item.subcategory_code).where(Item.category_code == category).gino.all()
# Функция для вывода товаров с РАЗНЫМИ подкатегориями в выбранной категории
async def get_wsubcategories(category, subcategory) -> List[Item]:
return await Item.query.distinct(Item.wsubcategory_code).where((Item.subcategory_code == subcategory, Item.category_code == category).gino.all()
# Функция вывода всех товаров, которые есть в переданных категории и подкатегории
async def get_items(category_code, subcategory_code, wsubcategory_code) -> List[Item]:
item = await Item.query.where(
and_(Item.category_code == category_code,
Item.subcategory_code == subcategory_code,
Item.wsubcategory_code == wsubcategory_code )
).gino.all()
return item
# Функция для получения объекта товара по его айди
async def get_item(item_id) -> Item:
item = await Item.query.where(Item.id == item_id).gino.first()
return item
выдает ошибку эта часть кода
# Функция вывода всех товаров, которые есть в переданных категории и подкатегории
async def get_items(category_code, subcategory_code, wsubcategory_code) -> List[Item]:
item = await Item.query.where(
and_(Item.category_code == category_code,
Item.subcategory_code == subcategory_code,
Item.wsubcategory_code == wsubcategory_code )
).gino.all()
return item
уже не знаю что делать, подскажите пожалуйста. Заранее спасибо