👏

firestoreのpython orm、fireoで簡単にfirestoreを使う ①使い方

2023/02/27に公開

結構なボリュームになりそうなので分けて書いていきます。
①はじめに 簡単な使い方 (こちらの記事となります。)
②モデルの定義方法と保存方法

たとえばこんなクラスがあったとします。こちらをそのままFirestoreに保存し、それをそのままFirestoreから取り出すようなライブラリーです。

@dataclass
class Conversation():
    uid:str
    startAt:datetime.datetime
    endAt:datetime.datetime
    outgoing:str
    incoming:str
    talk:str

前準備

すでにプロジェクトがある場合はjsonをダウンロードします。

概要->プロジェクトの設定

サービスアカウント->新しい秘密鍵の生成

こちらで作成されたjsonファイルを対象のフォルダに保存します。

fireoのインストール

pip install fireo

必要なライブラリーがインストールされます。

使ってみる

今回は文字おこししたファイルを保存したいため、以下のように設定します。

まずはモデルクラスを作成します。

conversation.py

from fireo.models import Model
from fireo.fields import TextField, DateTime, IDField

class Conversation(Model):
    uid = IDField()
    startAt = DateTime(auto=True)
    endAt = DateTime(auto=True)
    outgoing = TextField()
    incoming = TextField()
    talk = TextField()

実際に使ってみます。

fireo_sample.py
import fireo
from conversation import Conversation

class FBHandler:
    def __init__(self) -> None:
        fireo.connection(from_file="/path/to/downloaded/file.json")
    
    def add_test(self)->None:
        print("test init")
        conv = Conversation()
        conv.incoming = "testincoming"
        conv.outgoing = "testoutgoing"
        conv.save()
	

実際に使ってみます。

from fireo_sample.py import FBHandler
hndr = FBHandler()
hndr.add_test()

無事追加されているようです。

他にも比較的簡単に扱えるみたいですので、随時記事を追加してきます。

Discussion