モデル一覧¶
データベース用 モデル¶
データベースのテーブルに対応するモデルです。 SQLModelを継承して定義されており、データベースのCRUD操作に使用されます。
基本各モデルは以下の形で定義されます。
- Base: 基本的なモデルクラス
- Main: テーブル定義用のクラス (DB操作時に使用)
- Create: 新規作成用のモデルクラス
- Read: 読み取り用のモデルクラス
- Update: 更新用のモデルクラス
この設計は、データの整合性と操作の明確化を目的としています。
src.models.task
¶
新しいTaskモデルの定義
Task
¶
Bases: TaskBase
新しいタスクモデル
タスクの情報をデータベースに保存するためのモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
id |
UUID | None
|
タスクのID。デフォルトはNoneで、データベースに保存時に自動生成されます。 |
project_id |
UUID | None
|
タスクが属するプロジェクトのID。プロジェクトに属さないタスクの場合はNone。 |
parent_id |
UUID | None
|
親タスクのID。サブタスクの場合に使用。 |
title |
str
|
タスクのタイトル。インデックスが設定されており、検索に使用されます。 |
description |
str
|
タスクの詳細説明。デフォルトは空文字列。 |
status |
TaskStatus
|
タスクのステータス。デフォルトはINBOX。 |
due_date |
date | None
|
タスクの締め切り日。設定されていない場合はNone。 |
Source code in src/models/task.py
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
|
TaskBase
¶
Bases: SQLModel
タスクの基本モデル
タスクの基本情報を定義するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
project_id |
UUID | None
|
タスクが属するプロジェクトのID。プロジェクトに属さないタスクの場合はNone。 |
parent_id |
UUID | None
|
親タスクのID。サブタスクの場合に使用。 |
title |
str
|
タスクのタイトル。インデックスが設定されており、検索に使用されます。 |
description |
str
|
タスクの詳細説明。デフォルトは空文字列。 |
status |
TaskStatus
|
タスクのステータス。デフォルトはINBOX。 |
due_date |
date | None
|
タスクの締め切り日。設定されていない場合はNone。 |
Source code in src/models/task.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
TaskCreate
¶
Bases: TaskBase
新しいタスク作成用モデル
タスクを新規作成する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
project_id |
UUID | None
|
タスクが属するプロジェクトのID。プロジェクトに属さないタスクの場合はNone。 |
parent_id |
UUID | None
|
親タスクのID。サブタスクの場合に使用。 |
title |
str
|
タスクのタイトル。インデックスが設定されており、検索に使用されます。 |
description |
str
|
タスクの詳細説明。デフォルトは空文字列。 |
status |
TaskStatus
|
タスクのステータス。デフォルトはINBOX。 |
due_date |
date | None
|
タスクの締め切り日。設定されていない場合はNone。 |
Source code in src/models/task.py
62 63 64 65 66 67 68 69 70 71 72 73 74 |
|
TaskRead
¶
Bases: TaskBase
新しいタスク読み取り用モデル
タスクの情報を読み取る際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
id |
UUID
|
タスクのID。 |
project_id |
UUID | None
|
タスクが属するプロジェクトのID。プロジェクトに属さないタスクの場合はNone。 |
parent_id |
UUID | None
|
親タスクのID。サブタスクの場合に使用。 |
title |
str
|
タスクのタイトル。インデックスが設定されており、検索に使用されます。 |
description |
str
|
タスクの詳細説明。デフォルトは空文字列。 |
status |
TaskStatus
|
タスクのステータス。デフォルトはINBOX。 |
due_date |
date | None
|
タスクの締め切り日。設定されていない場合はNone。 |
Source code in src/models/task.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
|
TaskStatus
¶
Bases: str
, Enum
タスクのステータス(GTDシステムに基づく)
Source code in src/models/task.py
10 11 12 13 14 15 16 17 18 19 |
|
TaskUpdate
¶
Bases: SQLModel
新しいタスク更新用モデル
タスクの情報を更新する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
project_id |
UUID | None
|
タスクが属するプロジェクトのID。Noneの場合は更新しない。 |
parent_id |
UUID | None
|
親タスクのID。Noneの場合は更新しない。 |
title |
str | None
|
タスクのタイトル。Noneの場合は更新しない。 |
description |
str | None
|
タスクの詳細説明。Noneの場合は更新しない。 |
status |
TaskStatus | None
|
タスクのステータス。Noneの場合は更新しない。 |
due_date |
date | None
|
タスクの締め切り日。Noneの場合は更新しない。 |
Source code in src/models/task.py
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
|
src.models.project
¶
Projectモデルの定義
Project
¶
Bases: ProjectBase
プロジェクトモデル
プロジェクトの情報をデータベースに保存するためのモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
id |
UUID | None
|
プロジェクトのID。デフォルトはNoneで、データベースに保存時に自動生成されます。 |
title |
str
|
プロジェクト名。インデックスが設定されており、検索に使用されます。 |
description |
str
|
プロジェクトの説明。デフォルトは空文字列。 |
status |
ProjectStatus
|
プロジェクトのステータス。デフォルトはACTIVE。 |
Source code in src/models/project.py
34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
ProjectBase
¶
Bases: SQLModel
プロジェクトの基本モデル
プロジェクトの基本情報を定義するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
title |
str
|
プロジェクト名。インデックスが設定されており、検索に使用されます。 |
description |
str
|
プロジェクトの説明。デフォルトは空文字列。 |
status |
ProjectStatus
|
プロジェクトのステータス。デフォルトはACTIVE。 |
Source code in src/models/project.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
ProjectCreate
¶
Bases: ProjectBase
プロジェクト作成用モデル
プロジェクトを新規作成する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
title |
str
|
プロジェクト名。インデックスが設定されており、検索に使用されます。 |
description |
str
|
プロジェクトの説明。デフォルトは空文字列。 |
status |
ProjectStatus
|
プロジェクトのステータス。デフォルトはACTIVE。 |
Source code in src/models/project.py
49 50 51 52 53 54 55 56 57 58 |
|
ProjectRead
¶
Bases: ProjectBase
プロジェクト読み取り用モデル
プロジェクトの情報を読み取る際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
id |
UUID
|
プロジェクトのID。 |
title |
str
|
プロジェクト名。インデックスが設定されており、検索に使用されます。 |
description |
str
|
プロジェクトの説明。デフォルトは空文字列。 |
status |
ProjectStatus
|
プロジェクトのステータス。デフォルトはACTIVE。 |
Source code in src/models/project.py
61 62 63 64 65 66 67 68 69 70 71 72 73 |
|
ProjectStatus
¶
Bases: str
, Enum
プロジェクトのステータス
Source code in src/models/project.py
9 10 11 12 13 14 15 |
|
ProjectUpdate
¶
Bases: SQLModel
プロジェクト更新用モデル
プロジェクトの情報を更新する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
title |
str | None
|
プロジェクト名。Noneの場合は更新しない。 |
description |
str | None
|
プロジェクトの説明。Noneの場合は更新しない。 |
status |
ProjectStatus | None
|
プロジェクトのステータス。Noneの場合は更新しない。 |
Source code in src/models/project.py
76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
|
src.models.tag
¶
Tagモデルの定義
Tag
¶
Bases: TagBase
タグモデル
タグの情報をデータベースに保存するためのモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
id |
UUID | None
|
タグのID。デフォルトはNoneで、データベースに保存時に自動生成されます。 |
name |
str
|
タグ名(例: @PC, #重要)。インデックスが設定されており、検索に使用されます。 |
Source code in src/models/tag.py
20 21 22 23 24 25 26 27 28 29 30 |
|
TagBase
¶
Bases: SQLModel
タグの基本モデル
タグの基本情報を定義するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
name |
str
|
タグ名(例: @PC, #重要)。インデックスが設定されており、検索に使用されます。 |
Source code in src/models/tag.py
8 9 10 11 12 13 14 15 16 17 |
|
TagCreate
¶
Bases: TagBase
タグ作成用モデル
タグを新規作成する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
name |
str
|
タグ名(例: @PC, #重要)。インデックスが設定されており、検索に使用されます。 |
Source code in src/models/tag.py
33 34 35 36 37 38 39 40 |
|
TagRead
¶
Bases: TagBase
タグ読み取り用モデル
タグの情報を読み取る際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
id |
UUID
|
タグのID。 |
name |
str
|
タグ名(例: @PC, #重要)。インデックスが設定されており、検索に使用されます。 |
Source code in src/models/tag.py
43 44 45 46 47 48 49 50 51 52 53 |
|
TagUpdate
¶
Bases: SQLModel
タグ更新用モデル
タグの情報を更新する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
name |
str | None
|
タグ名。Noneの場合は更新しない。 |
Source code in src/models/tag.py
56 57 58 59 60 61 62 63 64 65 |
|
src.models.task_tag
¶
TaskTagモデルの定義(多対多の関連テーブル)
TaskTag
¶
Bases: TaskTagBase
タスクとタグの関連モデル
タスクとタグの多対多関係をデータベースに保存するためのモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
task_id |
UUID
|
タスクのID。複合主キーの一部。 |
tag_id |
UUID
|
タグのID。複合主キーの一部。 |
Source code in src/models/task_tag.py
22 23 24 25 26 27 28 29 30 |
|
TaskTagBase
¶
Bases: SQLModel
タスクとタグの関連の基本モデル
タスクとタグの多対多関係を定義するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
task_id |
UUID
|
タスクのID。 |
tag_id |
UUID
|
タグのID。 |
Source code in src/models/task_tag.py
8 9 10 11 12 13 14 15 16 17 18 19 |
|
TaskTagCreate
¶
Bases: TaskTagBase
タスクとタグの関連作成用モデル
タスクとタグの関連を新規作成する際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
task_id |
UUID
|
タスクのID。 |
tag_id |
UUID
|
タグのID。 |
Source code in src/models/task_tag.py
33 34 35 36 37 38 39 40 41 |
|
TaskTagRead
¶
Bases: TaskTagBase
タスクとタグの関連読み取り用モデル
タスクとタグの関連情報を読み取る際に使用するモデルクラス。SQLModelを使用してデータベースと連携します。
属性:
名前 | タイプ | デスクリプション |
---|---|---|
task_id |
UUID
|
タスクのID。 |
tag_id |
UUID
|
タグのID。 |
Source code in src/models/task_tag.py
44 45 46 47 48 49 50 51 52 |
|
src.models.memo
¶
Memoモデルの定義
Memo
¶
Bases: MemoBase
メモモデル
Source code in src/models/memo.py
15 16 17 18 |
|
MemoBase
¶
Bases: SQLModel
メモの基本モデル
Source code in src/models/memo.py
8 9 10 11 12 |
|
MemoCreate
¶
Bases: MemoBase
メモ作成用モデル
Source code in src/models/memo.py
21 22 |
|
MemoRead
¶
Bases: MemoBase
メモ読み取り用モデル
Source code in src/models/memo.py
25 26 27 28 |
|
MemoUpdate
¶
Bases: SQLModel
メモ更新用モデル
Source code in src/models/memo.py
31 32 33 34 |
|