def test_baked_mix(self): sess = self._fixture_data() tokyo = sess.query(WeatherLocation).filter_by(city="Tokyo").one() tokyo.city sess.expunge_all() from sqlalchemy.ext.baked import BakedQuery bakery = BakedQuery.bakery() def get_tokyo(sess): bq = bakery(lambda session: session.query(WeatherLocation)) t = bq(sess).get(tokyo.id) return t Sess = sessionmaker(class_=Session, bind=db2, autoflush=True, autocommit=False) sess2 = Sess() t = get_tokyo(sess) eq_(t.city, tokyo.city) t = get_tokyo(sess2) eq_(t.city, tokyo.city)
def test_get_baked_query(self): sess = self._fixture_data() tokyo = sess.query(WeatherLocation).filter_by(city="Tokyo").one() tokyo.city sess.expunge_all() from sqlalchemy.ext.baked import BakedQuery bakery = BakedQuery.bakery() bq = bakery(lambda session: session.query(WeatherLocation)) t = bq(sess).get(tokyo.id) eq_(t.city, tokyo.city)
def test_filter_baked_query_shard_id(self): sess = self._fixture_data() tokyo = sess.query(WeatherLocation).filter_by(city="Tokyo").one() tokyo.city sess.expunge_all() from sqlalchemy.ext.baked import BakedQuery bakery = BakedQuery.bakery() bq = bakery(lambda session: session.query(WeatherLocation) ).with_criteria(lambda q: q.filter_by(id=tokyo.id)) t = bq(sess).with_post_criteria(lambda q: q.set_shard("asia")).one() eq_(t.city, tokyo.city)
def test_filter_baked_query_shard_id(self): sess = self._fixture_data() tokyo = sess.query(WeatherLocation).filter_by(city="Tokyo").one() tokyo.city sess.expunge_all() from sqlalchemy.ext.baked import BakedQuery bakery = BakedQuery.bakery() bq = bakery(lambda session: session.query(WeatherLocation)).\ with_criteria(lambda q: q.filter_by(id=tokyo.id)) t = bq(sess).with_post_criteria( lambda q: q.set_shard("asia")).one() eq_(t.city, tokyo.city)
def test_get_baked_query(self): sess = self._fixture_data() tokyo = sess.query(WeatherLocation).filter_by(city="Tokyo").one() tokyo.city sess.expunge_all() from sqlalchemy.ext.baked import BakedQuery bakery = BakedQuery.bakery() bq = bakery(lambda session: session.query(WeatherLocation)) t = bq(sess).get(tokyo.id) eq_(t.city, tokyo.city) eq_(inspect(t).key[2], 'asia')