LoginSignup
1
3

More than 3 years have passed since last update.

FastAPI/SQLAlchemy初心者が1日で理解したこと(1週間だけ頑張る Day3of9)

Last updated at Posted at 2021-04-12

はじめに

1週間N(E)ETになった社会人の学習記録です。
今日はCRUDのサンプルを写経し、使い方を覚えます。
私のレベルは、「RailsのTutorialはやったことある。Rails3が主流なときにRails2の改修をやらされて、情報が全然なくてトラウマになっている。」です。

使用技術 私の状況
python 読み書きできなくはないが、自分で一から書くならrubyを選ぶ
SQLAlchemy 完全に初見。RailsのActiveRecordは触ったことある。
FastAPI 完全に初見。RailsのapiモードでHello Worldを書いたことある程度。

前日の記事(Dockerの学習)ではPostgreSQLのデータの永続化はできていないが、とりあえず先に進む。

CRUDの写経

Google先生に教えてもらった記事から、分かりやすそうなページを参考に写経する。

変更箇所

環境依存の所だけ自分の環境に合わせて適切に変更

理由
DATABASE postgresql 同左
USER testuser postgres Dockerイメージのデフォルト
PASSWORD secret p@assw0rd お好み設定
HOST localhost db docker-compose.ymlのservices内の名前がhost名になる1
PORT 5432 同左
DB_NAME test_db document_db お好み設定

Dockerfileの編集

SQLAlchemyに必要なパッケージとして以下追加する。
怒られたのでとりあえず入れた感じ。
Railsのように最初にドカッと入るよりは自分で選択して入れるほうが学習にはよさげ。

管理 名前 備考
pip sqlalchemy 今回使いたいやつ
pip psycopg2-bynary PostgresSQL用のpthonライブラリ
libpq5必要
pip databases 非同期用のライブラリ?
後で調べるかも
apt libpq5 PostgresSQL用のCライブラリ

所感

とりあえず、コピペしただけだけど動いてなにより。
次回は、今回作ったFastAPIに対して、Reactを通じてCRUDできることを目標にします。

免責事項(言い訳)

上記の技術については初心者なので、あてにしないように!!!

今後の予定のための参考

多対多

このまどろっこしさは解消されないんですかね。

Word

「python-docx」は使ったことあるので、たぶん行ける。
ちなみにExcelは「openpyxl」を使い、pdfは「pyPDF2」と「reportlab」を使い分ける。

E-Mail

とりあえずGoogle先生から以下を教えてもらったが、テストメールを準備するのがだるいので、ここには書かないかも。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3