Python Relations 包

English

GitHub License
GitHub Downloads (all assets, all releases)

一个基于 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 许可证


vistart
0 声望0 粉丝

未破壳的雏。