Why I am getting this error? pydantic.error_wrappers.ValidationError: 2 validation errors for DishMenus

2.8k Views Asked by At
model.py

class Dish(db.Entity):
    id = PrimaryKey(UUID, auto=True)
    dish_name = Required(str, unique =True)
    price = Required(float, default=0)
    created_at = Required(date)
    dish_menus = Set('Dish_Menu')
class Menu(db.Entity):
    id = PrimaryKey(UUID, auto=True)
    date = Required(date)
    dish_menu = Set('Dish_Menu')
class Dish_Menu(db.Entity):
    id = PrimaryKey(UUID, auto=True)
    dish_availability = Required(int)
    dishes = Required("Dish", column = "dish_id")
    menus = Required("Menu", column = "menu_id")
routes.py 

@api.post('/', status_code=status.HTTP_201_CREATED)
async def create_dish_menu(dish_menu: DishMenus):
    with db_session:
        new_dish = Dish_Menu(dish_availability = dish_menu.dish_availability,
                            dishes = dish_menu.dish_id, menus = dish_menu.menu_id)
        commit()  
    result = SaveDishMenu.from_orm(new_dish)
    return result
@api.get('/', status_code=status.HTTP_200_OK)
async def get_all_dish_menu():
    with db_session:
        dish_menu = Dish_Menu.select()
        print(dish_menu);
        result = [DishMenuDetails.from_orm(i) for i in dish_menu]
    return result
schemas.py

class SaveDishMenu(BaseModel):
    id : Optional [UUID]
    dish_availability: int
    class Config:
        orm_mode = True
class DishMenus(SaveDishMenu):
    dish_id : str
    menu_id : str
    class Config:
        orm_mode = True
class DishMenuDetails(SaveDishMenu):
    dish_id : DishDetails
    menu_id : MenuSchema
    

I can post a dish menu, but I have problem in getting all of those input because I'm getting this error: pydantic.error_wrappers.ValidationError: 2 validation errors for DishMenus dish_id field required (type=value_error.missing) menu_id field required (type=value_error.missing) In my schemas, I inherit some because of some factors. Do I need to change something on my model? or route? Can someone help me with it? Thanks

0

There are 0 best solutions below