Pythonでデータモデルを扱いたい時のTips.md
こんにちは、ナナオです。 ドメイン駆動開発しているとデータモデルを作る機会は多いと思いますが、Pythonではどのようにデータモデルを表現すればいいのか、というところを軽くまとめました。 とりあえず使うなら -> dataclasses 個人開発などでとりあえずデータモデルを定義したいだけならdataclassで事足りると思います。 dataclasses --- データクラス — Python 3.13.11 ドキュメント import uuid from dataclasses import dataclass @dataclass class User: id: uuid.UUID name: str # 使い方 user = User( id=uuid.uuid4(), name="nanao", ) なんといっても標準ライブラリで、かつ使いやすいのが特徴ですね。 特にDB連携なんかもしないならこれでいいと思います。 データベースと連携するなら -> SQLAlchemy DB連携を考えるなら外せないのがSQLAlchemyですね。 SQLAlchemy - The Database Toolkit for Python from typing import List from typing import Optional from sqlalchemy import ForeignKey from sqlalchemy import String from sqlalchemy.orm import DeclarativeBase from sqlalchemy.orm import Mapped from sqlalchemy.orm import mapped_column from sqlalchemy.orm import relationship class Base(DeclarativeBase): pass class User(Base): __tablename__ = "user_account" id: Mapped[int] = mapped_column(primary_key=True) name: Mapped[str] = mapped_column(String(30)) 本番利用も考えるなら -> pydantic こちらのライブラリはバリデーションの豊富さなどの観点から、さながらdataclassesの進化版といったところでしょうか。 ...