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