はじめに
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('まだデータがない')