私は現在、SQLAで次のようなことをしています。
class Base(object):
query = DBSession.query_property()
@classmethod
def _get_fulltext_query(cls, terms):
# Search is a method which runs a fulltext search in Whoosh for objects of the given type, returning all ids which match the given terms
ids = search(terms, cls.__name__)
return cls.query.filter(cls.id.in_(ids))
カスタムクエリクラスを設定して、次のようなことをしたいと思います。
class BaseQuery(Query):
def fulltext(self, terms):
# Need a way to find out what class we're querying so that I can run the fulltext search and return the proper query
class Base(object):
query = DBSession.query_property(BaseQuery)
それは私にはきれいに思えます。また、クエリされているクラスを知る必要がある他のユースケースもあります。たとえば、返される通知タイプを知る必要がある一連の通知クラスです。
BaseQuery.fulltext内からクエリされているクラスを見つける方法はありますか?