Open4
python
配列
- リスト:ミュータブル(変更可)でインデックス(番号)で要素にアクセス
- タプル:イミュータブル(変更不可)でインデックス(番号)で要素にアクセス
- 辞書:ミュータブルで要素へのアクセスは値に一意なキーでアクセス
- 集合:要素へのアクセスは値に一意なキーで行いますが同じ要素を一つしか持てない
fastapi
- response_model
- 出力データをモデルのデータに限定する
- https://fastapi.tiangolo.com/ja/tutorial/response-model/
- BaseModel
- スキーマを作る際、BaseModelを親クラスにし型チェック可能にする
class Hoge(BaseModel):
- スキーマを作る際、BaseModelを親クラスにし型チェック可能にする
-
def func(a:int, b:bool, c:str)
- 引数の型指定可能
-
orm_mode = True
- DBから取得してきたORMオブジェクトをresponse_modelに引き渡しできるようにする為のもの
- v2では
from_attributes = True
class User(UserBase):
id: int
is_active: bool
items: List[Item] = []
class Config:
orm_mode = True
作成日・更新日
モデル
created_at = Column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)
updated_at = Column(
DateTime(timezone=True),
nullable=False,
server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
)
スキーマ
created_at: Optional[datetime] = None # デフォルト値None
updated_at: Optional[datetime] = None # デフォルト値None
- スキーマ
- ユニオン:複数の型を受け入れることができる
getAllResponseSchema = Union[getAllIssueResponse, ErrorResponse]
-
Union[IssueOnlyId, Issue]
- Unionは左から先に合致するかチェックしていくので左に優先したいスキーマを置く
- ユニオン:複数の型を受け入れることができる
- オブジェクトの参照渡しを回避
- import copyしてcopy.deepcopy(深いコピー)かcopy.copy(浅いコピー)