fastapi-template/api/test.py

33 lines
884 B
Python

# 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