Python Relations 包
一个基于 Pydantic [source|PyPI] 构建的灵活、类型安全的 Python 模型关系管理系统。
通过 Pydantic 的验证系统提供带缓存支持和严格类型检查的 ORM 风格关系管理。
目前该代码包已经发布到 PyPI,最新版本为 v0.1.0。
特性
- 基于 Pydantic 构建,提供强大的数据验证和序列化能力
- 类型安全的关系声明,完整支持类型提示
- 可配置的缓存支持和 TTL
- 支持常见关系类型 (BelongsTo、HasOne、HasMany)
- 灵活的查询和加载接口
- 自动关系验证
- 循环依赖的前向引用支持
系统要求
- Python >= 3.8
- pydantic >= 2.0
开发环境要求
- pytest >= 7.0 (用于测试)
- coverage >= 7.0 (用于测试覆盖率)
快速开始
from typing import ClassVar
from pydantic import BaseModel
from relations import RelationManagementMixin, HasMany, BelongsTo
class Department(RelationManagementMixin, BaseModel):
id: int
name: str
employees: ClassVar[HasMany["Employee"]] = HasMany(
foreign_key="department_id",
inverse_of="department"
)
class Employee(RelationManagementMixin, BaseModel):
id: int
name: str
department_id: int
department: ClassVar[BelongsTo["Department"]] = BelongsTo(
foreign_key="department_id",
inverse_of="employees"
)
文档
详细文档请查看以下章节:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。