# Test Router 页面 from fastapi import APIRouter, Query from typing import Optional from fastapi_sqlalchemy import db from models.devices_place import DevicesPlace from pydantic_sqlalchemy import sqlalchemy_to_pydantic router = APIRouter(prefix="/test") @router.get("/") def index(): return {"msg": "This is Index Page"} @router.get("/login") def login(): return {} # 数据库查询 @router.get("/query", response_model=sqlalchemy_to_pydantic(DevicesPlace)) def query(mid: str = Query(..., description='mid'), region_id: Optional[int] = Query(None, description="区域Id")): if region_id is None: record = db.session.query(DevicesPlace).filter(DevicesPlace.mid == mid).first() else: record = db.session.query(DevicesPlace).filter(DevicesPlace.mid == mid)\ .filter(DevicesPlace.region_id == region_id).first() return record