Python Relations 包
English
一個基於 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"
)
文檔
詳細文檔請查看以下章節:
- 入門指南
- 核心概念
- 關係類型
- 緩存系統
- 自定義加載器
- 高級用法
許可證
MIT 許可證