动态

详情 返回 返回

一個基於 Pydantic 構建的靈活、類型安全的 Python 模型關係管理系統 - 动态 详情

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 許可證

user avatar lamazhenyuan 头像 yian 头像 runyubingxue 头像 seazhan 头像 tyltr 头像 liberhome 头像 syntaxerror 头像 tiandetuoba 头像 shendaowu 头像 wilburxu 头像 tekin_cn 头像
点赞 11 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.