SQLAlchemy:如何检查数据库中是否存在

SQLAlchemy:如何检查数据库中是否存在,sqlalchemy,Sqlalchemy,有没有比使用sqlalchemy更好的方法 def has_keyword(self, kw): s = self.sessionmaker() return 0 < s.query(Keyword).filter(kw.word == kw.word) def有_关键字(self,kw): s=self.sessionmaker() 返回0

有没有比使用sqlalchemy更好的方法

def has_keyword(self, kw):
        s = self.sessionmaker()
        return 0 < s.query(Keyword).filter(kw.word == kw.word)
def有_关键字(self,kw):
s=self.sessionmaker()
返回0
您可以通过在末尾添加.count()使查询稍微更加优化


例如:返回0我喜欢使用的一种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!
例如,这允许在一个模型不存在时创建一个新模型,并在存在多个模型时警告用户(选择第一个模型,等等)