skip to content
barorin&

SQLAlchemyで既存判定を行う方法

/ 1 min read

Table of Contents

はじめに

SQLAlchemyで既存判定を行う方法をまとめてみます。

方法

前提

from sqlalchemy import Column, Integer, String
from setting import BaseModel
class Fruit(BaseModel):
__tablename__ = 'fruit\_table'
id = Column(Integer, primary_key=True)
fruit = Column(String)

判定プログラム

from sqlalchemy import create_engine, literal
from sqlalchemy.orm import sessionmaker
engine = create_engine('sqlite:///fruit\_db.sqlite3')
session = sessionmaker(bind=engine)
q = session.query(Fruit).filter(Fruit.name == 'apple')
if session.query(literal(True)).filter(q.exists()).scalar(): # 既にデータがあればTrueを返す
print('既にデータあり')
else:
print('まだデータがない')

この記事を書いた人

barorinのプロフィール画像

barorin公認会計士

会計とITの二足のわらじで働く公認会計士です。Pythonを中心に、会計・監査の実務で実際に使っているコードや、Ubuntu・Raspberry Piの設定メモを書いています。