From 556c8773d6256495ba635030ca8eea30e591a84f Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 16 Feb 2025 19:54:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A5=BC=E6=A0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/community_building.py | 4 +++- app/models/community_building.py | 6 +----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/app/api/endpoints/community_building.py b/app/api/endpoints/community_building.py index 73eb227..649df72 100644 --- a/app/api/endpoints/community_building.py +++ b/app/api/endpoints/community_building.py @@ -49,6 +49,8 @@ async def get_buildings( # 如果指定了小区ID,直接筛选 elif community_id: query = query.filter(CommunityBuildingDB.community_id == community_id) + + query = query.order_by(CommunityBuildingDB.building_name.asc()) # 获取总数 total = query.count() @@ -78,7 +80,7 @@ async def create_building( # 检查是否已存在相同编号的楼栋 exists = db.query(CommunityBuildingDB).filter( CommunityBuildingDB.community_id == building.community_id, - CommunityBuildingDB.building_number == building.building_number + CommunityBuildingDB.building_name == building.building_name ).first() if exists: diff --git a/app/models/community_building.py b/app/models/community_building.py index e8bf3d0..d474655 100644 --- a/app/models/community_building.py +++ b/app/models/community_building.py @@ -12,29 +12,25 @@ class CommunityBuildingDB(Base): id = Column(Integer, primary_key=True, autoincrement=True) community_id = Column(Integer, ForeignKey("communities.id"), index=True) building_name = Column(String(50), nullable=False) # 楼栋名称,如"1号楼" - building_number = Column(String(20), nullable=False) # 楼栋编号,如"A1" create_time = Column(DateTime(timezone=True), server_default=func.now()) update_time = Column(DateTime(timezone=True), onupdate=func.now()) class Config: - unique_together = [("community_id", "building_number")] + unique_together = [("community_id", "building_name")] # Pydantic 模型 class CommunityBuildingCreate(BaseModel): community_id: int building_name: str = Field(..., max_length=50) - building_number: str = Field(..., max_length=20) class CommunityBuildingUpdate(BaseModel): building_name: Optional[str] = Field(None, max_length=50) - building_number: Optional[str] = Field(None, max_length=20) class CommunityBuildingInfo(BaseModel): id: int community_id: int community_name: Optional[str] = None # 通过join查询获取的社区名称 building_name: str - building_number: str class Config: from_attributes = True \ No newline at end of file