1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from pydantic import BaseModel
- from typing import Optional
- from datetime import datetime
- from ..models import LogModel
- class LogDto(BaseModel):
- """日志信息DTO"""
- id: Optional[int] = None
- username: str
- operation_type: str
- operation_desc: str
- operation_result: str
- operation_module: str
- operation_data: Optional[str] = None
- data_changes: Optional[str] = None
- operation_ip: str
- created_at: datetime
- @classmethod
- def from_model(cls, model: LogModel) -> 'LogDto':
- """从数据库模型创建DTO对象"""
- return cls(
- id=model.id,
- username=model.username,
- operation_type=model.operation_type,
- operation_desc=model.operation_desc,
- operation_result=model.operation_result,
- operation_module=model.operation_module,
- operation_data=model.operation_data,
- data_changes=model.data_changes,
- operation_ip=model.operation_ip,
- created_at=model.created_at
- )
- def to_dict(self) -> dict:
- """转换为字典格式"""
- return self.model_dump()
- class Config:
- from_attributes = True
-
|