sqlalchemyでこれを行うよりも良い方法はありますか?SQLAlchemy:データベースに存在を確認する方法
def has_keyword(self, kw):
s = self.sessionmaker()
return 0 < s.query(Keyword).filter(kw.word == kw.word)
sqlalchemyでこれを行うよりも良い方法はありますか?SQLAlchemy:データベースに存在を確認する方法
def has_keyword(self, kw):
s = self.sessionmaker()
return 0 < s.query(Keyword).filter(kw.word == kw.word)
あなたは(.countを追加することにより、クエリはわずかにより最適にすることができます)最後まで
例:リターン0 < s.query(キーワード).filter(kw.word == kw.word ).count()私がそれをしたい
A Python的な方法:
query = session.query(Model).filter(...)
try:
model = query.one()
except NoResultFound:
# it does not exist!
except MultipleResultsFound:
# there are more than one matching the filter criteria!
これは、複数のものが存在する場合は、1つが存在しない場合は、新しいモデルを作成し、ユーザーに警告、たとえば、することができます(fを選ぶirst 1など)。