""" PostgreSQL数据模型定义 提供PostgreSQL数据库表的结构化模型定义 """ from typing import Optional, Dict, Any, List from dataclasses import dataclass from datetime import datetime @dataclass class PGUserModel: """PostgreSQL用户模型""" id: Optional[int] = None username: str = "" email: str = "" role: str = "user" is_active: bool = True created_at: Optional[datetime] = None updated_at: Optional[datetime] = None def to_dict(self) -> Dict[str, Any]: """转换为字典""" return { 'id': self.id, 'username': self.username, 'email': self.email, 'role': self.role, 'is_active': self.is_active, 'created_at': self.created_at.isoformat() if self.created_at else None, 'updated_at': self.updated_at.isoformat() if self.updated_at else None } @classmethod def from_dict(cls, data: Dict[str, Any]) -> 'PGUserModel': """从字典创建实例""" return cls( id=data.get('id'), username=data.get('username', ''), email=data.get('email', ''), role=data.get('role', 'user'), is_active=data.get('is_active', True), created_at=datetime.fromisoformat(data['created_at']) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data['updated_at']) if data.get('updated_at') else None ) __all__ = [ "PGUserModel" ]