feat: 初始化工程
This commit is contained in:
92
schemas/patch.py
Normal file
92
schemas/patch.py
Normal file
@@ -0,0 +1,92 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class PatchCreate(BaseModel):
|
||||
name: str
|
||||
location: Optional[str] = None
|
||||
status: Optional[str] = ""
|
||||
|
||||
|
||||
class PatchUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
location: Optional[str] = None
|
||||
status: Optional[str] = None
|
||||
|
||||
|
||||
class CropCreate(BaseModel):
|
||||
patch_id: int
|
||||
name: str
|
||||
variety: Optional[str] = None
|
||||
date: Optional[str] = None
|
||||
|
||||
|
||||
class CropUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
variety: Optional[str] = None
|
||||
date: Optional[str] = None
|
||||
|
||||
|
||||
class CropResponse(CropCreate):
|
||||
id: int
|
||||
|
||||
model_config = {
|
||||
"from_attributes": True
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def from_orm(cls, obj):
|
||||
return cls(
|
||||
id=obj.id,
|
||||
patch_id=obj.patch_id,
|
||||
name=obj.name,
|
||||
variety=obj.variety,
|
||||
date=obj.date.strftime("%Y-%m-%d") if obj.date else None,
|
||||
)
|
||||
|
||||
|
||||
class PatchResponse(PatchCreate):
|
||||
id: int
|
||||
crop: Optional[CropResponse] = None
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
|
||||
class RecordCreate(BaseModel):
|
||||
crop_id: int
|
||||
type: Optional[str] = None
|
||||
date: Optional[str] = None
|
||||
content: Optional[str] = None
|
||||
images: Optional[list[str]] = None
|
||||
videos: Optional[list[str]] = None
|
||||
stage: Optional[str] = None
|
||||
|
||||
|
||||
class RecordUpdate(BaseModel):
|
||||
type: Optional[str] = None
|
||||
date: Optional[str] = None
|
||||
content: Optional[str] = None
|
||||
images: Optional[list[str]] = None
|
||||
videos: Optional[list[str]] = None
|
||||
stage: Optional[str] = None
|
||||
|
||||
|
||||
class RecordResponse(RecordCreate):
|
||||
id: int
|
||||
|
||||
model_config = {
|
||||
"from_attributes": True
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def from_orm(cls, obj):
|
||||
return cls(
|
||||
id=obj.id,
|
||||
crop_id=obj.crop_id,
|
||||
type=obj.type,
|
||||
date=obj.date.strftime("%Y-%m-%d") if obj.date else None,
|
||||
content=obj.content,
|
||||
images=obj.images,
|
||||
videos=obj.videos,
|
||||
stage=obj.stage,
|
||||
)
|
||||
Reference in New Issue
Block a user