from fastapi import HTTPException from pydantic import BaseModel, Field,field_validator, model_validator from datetime import date from typing import Optional class EmploymentRequest(BaseModel): stu_id: int=Field(ge=1) email: str|None = None employment_opening_date:date|None = None offer_issuance_date:date|None = None company_name:str|None = None company_address:str|None = None salary:float|None = None @model_validator(mode='after') def check_date(self): if self.employment_opening_date and self.offer_issuance_date: if self.employment_opening_date > self.offer_issuance_date: raise ValueError('offer下发日期不能早于就业开放日期') return self class EmploymentResponse(BaseModel): code:int = 200 detail:str = 'OK' stu_id:int email: str|None = None employment_opening_date:date|None = None offer_issuance_date:date|None = None company_name:str|None = None company_address:str|None = None salary:float|None = None