summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2021-10-29 14:22:41 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2021-10-29 14:22:41 +0000
commit5aca98e65f471207439471210a1e232c07f0a3ba (patch)
tree367e8481c71841480a157c3069c646fe08a82383
parentd127f4936acb28dc00efd84678336a2be935a312 (diff)
parent6a786297014c7b2a381084299ac3b4aabcf3c318 (diff)
downloadsqlalchemy-5aca98e65f471207439471210a1e232c07f0a3ba.tar.gz
Merge "Modernize tests - session_query_get" into main
-rw-r--r--doc/build/orm/tutorial.rst2
-rw-r--r--lib/sqlalchemy/orm/session.py11
-rw-r--r--lib/sqlalchemy/testing/warnings.py1
-rw-r--r--test/aaa_profiling/test_orm.py4
-rw-r--r--test/ext/test_associationproxy.py6
-rw-r--r--test/ext/test_baked.py4
-rw-r--r--test/ext/test_horizontal_shard.py24
-rw-r--r--test/ext/test_hybrid.py16
-rw-r--r--test/ext/test_orderinglist.py12
-rw-r--r--test/ext/test_serializer.py2
-rw-r--r--test/orm/test_assorted_eager.py10
-rw-r--r--test/orm/test_bind.py2
-rw-r--r--test/orm/test_bulk.py2
-rw-r--r--test/orm/test_collection.py24
-rw-r--r--test/orm/test_compile.py2
-rw-r--r--test/orm/test_composites.py18
-rw-r--r--test/orm/test_cycles.py6
-rw-r--r--test/orm/test_dataclasses_py3k.py4
-rw-r--r--test/orm/test_deferred.py8
-rw-r--r--test/orm/test_deprecations.py119
-rw-r--r--test/orm/test_dynamic.py16
-rw-r--r--test/orm/test_eager_relations.py18
-rw-r--r--test/orm/test_events.py12
-rw-r--r--test/orm/test_expire.py102
-rw-r--r--test/orm/test_froms.py9
-rw-r--r--test/orm/test_inspect.py2
-rw-r--r--test/orm/test_lazy_relations.py14
-rw-r--r--test/orm/test_loading.py2
-rw-r--r--test/orm/test_mapper.py10
-rw-r--r--test/orm/test_merge.py30
-rw-r--r--test/orm/test_naturalpks.py54
-rw-r--r--test/orm/test_onetoone.py8
-rw-r--r--test/orm/test_pickled.py14
-rw-r--r--test/orm/test_query.py389
-rw-r--r--test/orm/test_relationships.py4
-rw-r--r--test/orm/test_selectin_relations.py16
-rw-r--r--test/orm/test_session.py10
-rw-r--r--test/orm/test_subquery_relations.py16
-rw-r--r--test/orm/test_transaction.py10
-rw-r--r--test/orm/test_unitofwork.py74
-rw-r--r--test/orm/test_unitofworkv2.py4
-rw-r--r--test/orm/test_update_delete.py10
-rw-r--r--test/orm/test_versioning.py27
43 files changed, 605 insertions, 523 deletions
diff --git a/doc/build/orm/tutorial.rst b/doc/build/orm/tutorial.rst
index fab80da4a..fb5202342 100644
--- a/doc/build/orm/tutorial.rst
+++ b/doc/build/orm/tutorial.rst
@@ -1940,7 +1940,7 @@ being deleted:
.. sourcecode:: python+sql
# load Jack by primary key
- {sql}>>> jack = session.query(User).get(5)
+ {sql}>>> jack = session.get(User, 5)
BEGIN (implicit)
SELECT users.id AS users_id,
users.name AS users_name,
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py
index d5fb8a8e1..bb12f7021 100644
--- a/lib/sqlalchemy/orm/session.py
+++ b/lib/sqlalchemy/orm/session.py
@@ -2793,6 +2793,11 @@ class Session(_SessionClassMethods):
mapper = inspect(entity)
+ if not mapper or not mapper.is_mapper:
+ raise sa_exc.ArgumentError(
+ "Expected mapped class or mapper, got: %r" % entity
+ )
+
is_dict = isinstance(primary_key_identity, dict)
if not is_dict:
primary_key_identity = util.to_list(
@@ -2802,8 +2807,8 @@ class Session(_SessionClassMethods):
if len(primary_key_identity) != len(mapper.primary_key):
raise sa_exc.InvalidRequestError(
"Incorrect number of values in identifier to formulate "
- "primary key for query.get(); primary key columns are %s"
- % ",".join("'%s'" % c for c in mapper.primary_key)
+ "primary key for session.get(); primary key columns "
+ "are %s" % ",".join("'%s'" % c for c in mapper.primary_key)
)
if is_dict:
@@ -2817,7 +2822,7 @@ class Session(_SessionClassMethods):
util.raise_(
sa_exc.InvalidRequestError(
"Incorrect names of values in identifier to formulate "
- "primary key for query.get(); primary key attribute "
+ "primary key for session.get(); primary key attribute "
"names are %s"
% ",".join(
"'%s'" % prop.key
diff --git a/lib/sqlalchemy/testing/warnings.py b/lib/sqlalchemy/testing/warnings.py
index 45d831fe1..ae2c7916d 100644
--- a/lib/sqlalchemy/testing/warnings.py
+++ b/lib/sqlalchemy/testing/warnings.py
@@ -68,7 +68,6 @@ def setup_filters():
#
# ORM Query
#
- r"The Query\.get\(\) method",
r"The Query.with_polymorphic\(\) method is considered "
"legacy as of the 1.x series",
#
diff --git a/test/aaa_profiling/test_orm.py b/test/aaa_profiling/test_orm.py
index e9771fc67..5d081b933 100644
--- a/test/aaa_profiling/test_orm.py
+++ b/test/aaa_profiling/test_orm.py
@@ -88,7 +88,7 @@ class MergeTest(NoCache, fixtures.MappedTest):
sess = fixture_session()
sess2 = fixture_session()
- p1 = sess.query(Parent).get(1)
+ p1 = sess.get(Parent, 1)
p1.children
# down from 185 on this this is a small slice of a usually
@@ -117,7 +117,7 @@ class MergeTest(NoCache, fixtures.MappedTest):
sess = fixture_session()
sess2 = fixture_session()
- p1 = sess.query(Parent).get(1)
+ p1 = sess.get(Parent, 1)
p1.children
# preloading of collection took this down from 1728 to 1192
diff --git a/test/ext/test_associationproxy.py b/test/ext/test_associationproxy.py
index 3e6652d1e..0b05fe038 100644
--- a/test/ext/test_associationproxy.py
+++ b/test/ext/test_associationproxy.py
@@ -262,7 +262,7 @@ class _CollectionOperations(fixtures.MappedTest):
self.session.flush()
id_, type_ = obj.id, type(obj)
self.session.expunge_all()
- return self.session.query(type_).get(id_)
+ return self.session.get(type_, id_)
def _test_sequence_ops(self):
Parent, Child = self.classes("Parent", "Child")
@@ -1011,7 +1011,7 @@ class ScalarTest(fixtures.MappedTest):
session.flush()
id_, type_ = obj.id, type(obj)
session.expunge_all()
- return session.query(type_).get(id_)
+ return session.get(type_, id_)
p = Parent("p")
@@ -1201,7 +1201,7 @@ class LazyLoadTest(fixtures.MappedTest):
self.session.flush()
id_, type_ = obj.id, type(obj)
self.session.expunge_all()
- return self.session.query(type_).get(id_)
+ return self.session.get(type_, id_)
def test_lazy_list(self):
Parent, Child = self.classes("Parent", "Child")
diff --git a/test/ext/test_baked.py b/test/ext/test_baked.py
index d3e6455b2..0fa666642 100644
--- a/test/ext/test_baked.py
+++ b/test/ext/test_baked.py
@@ -223,7 +223,7 @@ class LikeQueryTest(BakedTest):
self.assert_sql_count(testing.db, go, 1)
- u1 = sess.query(User).get(7) # noqa
+ u1 = sess.get(User, 7) # noqa
def go():
u2 = bq(sess).get(7)
@@ -314,7 +314,7 @@ class LikeQueryTest(BakedTest):
self.assert_sql_count(testing.db, go, 1)
- u1 = sess.query(AddressUser).get((10, None)) # noqa
+ u1 = sess.get(AddressUser, (10, None)) # noqa
def go():
u2 = bq(sess).get((10, None))
diff --git a/test/ext/test_horizontal_shard.py b/test/ext/test_horizontal_shard.py
index 6e6265ab1..162d96150 100644
--- a/test/ext/test_horizontal_shard.py
+++ b/test/ext/test_horizontal_shard.py
@@ -207,25 +207,35 @@ class ShardTest(object):
def test_get(self):
sess = self._fixture_data()
- tokyo = sess.query(WeatherLocation).get(1)
+ tokyo = sess.get(WeatherLocation, 1)
eq_(tokyo.city, "Tokyo")
- newyork = sess.query(WeatherLocation).get(2)
+ newyork = sess.get(WeatherLocation, 2)
eq_(newyork.city, "New York")
- t2 = sess.query(WeatherLocation).get(1)
+ t2 = sess.get(WeatherLocation, 1)
is_(t2, tokyo)
def test_get_explicit_shard(self):
sess = self._fixture_data()
- tokyo = sess.query(WeatherLocation).set_shard("europe").get(1)
+ tokyo = (
+ sess.query(WeatherLocation)
+ .set_shard("europe")
+ .where(WeatherLocation.id == 1)
+ .first()
+ )
is_(tokyo, None)
- newyork = sess.query(WeatherLocation).set_shard("north_america").get(2)
+ newyork = (
+ sess.query(WeatherLocation)
+ .set_shard("north_america")
+ .where(WeatherLocation.id == 2)
+ .first()
+ )
eq_(newyork.city, "New York")
# now it found it
- t2 = sess.query(WeatherLocation).get(1)
+ t2 = sess.get(WeatherLocation, 1)
eq_(t2.city, "Tokyo")
def test_query_explicit_shard_via_bind_opts(self):
@@ -294,7 +304,7 @@ class ShardTest(object):
tokyo.city # reload 'city' attribute on tokyo
sess.expire_all()
- t = sess.query(WeatherLocation).get(tokyo.id)
+ t = sess.get(WeatherLocation, tokyo.id)
eq_(t.city, tokyo.city)
eq_(t.reports[0].temperature, 80.0)
north_american_cities = sess.query(WeatherLocation).filter(
diff --git a/test/ext/test_hybrid.py b/test/ext/test_hybrid.py
index 40cca5266..ad8d92b9b 100644
--- a/test/ext/test_hybrid.py
+++ b/test/ext/test_hybrid.py
@@ -953,7 +953,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.first_name: "moonbeam"}, synchronize_session="evaluate"
@@ -977,7 +977,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.fname2: "moonbeam"}, synchronize_session="evaluate"
@@ -1001,7 +1001,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.fname: "moonbeam"}, synchronize_session="evaluate"
@@ -1025,7 +1025,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.fname2: "moonbeam"}, synchronize_session="fetch"
@@ -1049,7 +1049,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.fname: "moonbeam"}, synchronize_session="fetch"
@@ -1073,7 +1073,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.name: "moonbeam sunshine"}, synchronize_session="evaluate"
@@ -1094,7 +1094,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.name: "moonbeam sunshine"}, synchronize_session="fetch"
@@ -1115,7 +1115,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
Person = self.classes.Person
s = fixture_session()
- jill = s.query(Person).get(3)
+ jill = s.get(Person, 3)
s.query(Person).update(
{Person.uname: "moonbeam sunshine"}, synchronize_session="evaluate"
diff --git a/test/ext/test_orderinglist.py b/test/ext/test_orderinglist.py
index 6fa559ee3..031613bc4 100644
--- a/test/ext/test_orderinglist.py
+++ b/test/ext/test_orderinglist.py
@@ -176,7 +176,7 @@ class OrderingListTest(fixtures.MappedTest):
session.expunge_all()
del s1
- srt = session.query(Slide).get(id_)
+ srt = session.get(Slide, id_)
self.assert_(srt.bullets)
self.assert_(len(srt.bullets) == 4)
@@ -241,7 +241,7 @@ class OrderingListTest(fixtures.MappedTest):
session.expunge_all()
del s1
- srt = session.query(Slide).get(id_)
+ srt = session.get(Slide, id_)
self.assert_(srt.bullets)
self.assert_(len(srt.bullets) == 5)
@@ -255,7 +255,7 @@ class OrderingListTest(fixtures.MappedTest):
session.flush()
session.expunge_all()
- srt = session.query(Slide).get(id_)
+ srt = session.get(Slide, id_)
titles = ["s1/b1", "s1/b2", "s1/b100", "s1/b4", "raw", "raw2"]
found = [b.text for b in srt.bullets]
eq_(titles, found)
@@ -298,7 +298,7 @@ class OrderingListTest(fixtures.MappedTest):
session.expunge_all()
del s1
- srt = session.query(Slide).get(id_)
+ srt = session.get(Slide, id_)
self.assert_(srt.bullets)
self.assert_(len(srt.bullets) == 6)
@@ -347,7 +347,7 @@ class OrderingListTest(fixtures.MappedTest):
session.expunge_all()
del s1
- srt = session.query(Slide).get(id_)
+ srt = session.get(Slide, id_)
self.assert_(srt.bullets)
self.assert_(len(srt.bullets) == 3)
@@ -385,7 +385,7 @@ class OrderingListTest(fixtures.MappedTest):
session.flush()
session.expunge_all()
- srt = session.query(Slide).get(id_)
+ srt = session.get(Slide, id_)
self.assert_(srt.bullets)
self.assert_(len(srt.bullets) == 3)
diff --git a/test/ext/test_serializer.py b/test/ext/test_serializer.py
index 2e9225419..03ad96b3c 100644
--- a/test/ext/test_serializer.py
+++ b/test/ext/test_serializer.py
@@ -179,7 +179,7 @@ class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest):
.scalar(),
1,
)
- u1 = Session.query(User).get(8)
+ u1 = Session.get(User, 8)
q = (
Session.query(Address)
.filter(Address.user == u1)
diff --git a/test/orm/test_assorted_eager.py b/test/orm/test_assorted_eager.py
index a97538da6..f6d10d8e6 100644
--- a/test/orm/test_assorted_eager.py
+++ b/test/orm/test_assorted_eager.py
@@ -767,7 +767,7 @@ class EagerTest5(fixtures.MappedTest):
# this eager load sets up an AliasedClauses for the "comment"
# relationship, then stores it in clauses_by_lead_mapper[mapper for
# Derived]
- d = sess.query(Derived).get("uid1")
+ d = sess.get(Derived, "uid1")
sess.expunge_all()
assert len([c for c in d.comments]) == 1
@@ -775,7 +775,7 @@ class EagerTest5(fixtures.MappedTest):
# relationship, and should store it in clauses_by_lead_mapper[mapper
# for DerivedII]. the bug was that the previous AliasedClause create
# prevented this population from occurring.
- d2 = sess.query(DerivedII).get("uid2")
+ d2 = sess.get(DerivedII, "uid2")
sess.expunge_all()
# object is not in the session; therefore the lazy load cant trigger
@@ -918,7 +918,7 @@ class EagerTest6(fixtures.MappedTest):
sess.add(d)
sess.flush()
sess.expunge_all()
- x = sess.query(Design).get(1)
+ x = sess.get(Design, 1)
x.inheritedParts
@@ -1036,10 +1036,10 @@ class EagerTest7(fixtures.MappedTest):
invoice_id = i1.invoice_id
session.expunge_all()
- c = session.query(Company).get(company_id)
+ c = session.get(Company, company_id)
session.expunge_all()
- i = session.query(Invoice).get(invoice_id)
+ i = session.get(Invoice, invoice_id)
def go():
eq_(c, i.company)
diff --git a/test/orm/test_bind.py b/test/orm/test_bind.py
index 4f6f4c4fb..aa41ad554 100644
--- a/test/orm/test_bind.py
+++ b/test/orm/test_bind.py
@@ -527,7 +527,7 @@ class SessionBindTest(fixtures.MappedTest):
f = Foo()
sess.add(f)
sess.flush()
- assert sess.query(Foo).get(f.id) is f
+ assert sess.get(Foo, f.id) is f
finally:
if hasattr(bind, "close"):
bind.close()
diff --git a/test/orm/test_bulk.py b/test/orm/test_bulk.py
index b69d8263a..802cdfac5 100644
--- a/test/orm/test_bulk.py
+++ b/test/orm/test_bulk.py
@@ -536,7 +536,7 @@ class BulkUDTestAltColKeys(BulkTest, fixtures.MappedTest):
s.add(Person(id=5, personname="thename"))
s.commit()
- p = s.query(Person).get(5)
+ p = s.get(Person, 5)
with self.sql_execution_asserter(testing.db) as asserter:
p.personname = "newname"
s.bulk_save_objects([p])
diff --git a/test/orm/test_collection.py b/test/orm/test_collection.py
index 81ace4a98..3473dcf50 100644
--- a/test/orm/test_collection.py
+++ b/test/orm/test_collection.py
@@ -1874,7 +1874,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
pid = p.id
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
eq_(set(p.children.keys()), set(["foo", "bar"]))
cid = p.children["foo"].id
@@ -1886,7 +1886,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
session.flush()
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
self.assert_(set(p.children.keys()) == set(["foo", "bar"]))
self.assert_(p.children["foo"].id != cid)
@@ -1897,7 +1897,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
session.flush()
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
self.assert_(
len(list(collections.collection_adapter(p.children))) == 2
)
@@ -1912,7 +1912,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
session.flush()
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
self.assert_(
len(list(collections.collection_adapter(p.children))) == 1
)
@@ -1924,7 +1924,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
session.flush()
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
self.assert_(
len(list(collections.collection_adapter(p.children))) == 0
)
@@ -1960,7 +1960,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
pid = p.id
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
self.assert_(
set(p.children.keys()) == set([("foo", "1"), ("foo", "2")])
@@ -1974,7 +1974,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
session.flush()
session.expunge_all()
- p = session.query(Parent).get(pid)
+ p = session.get(Parent, pid)
self.assert_(
set(p.children.keys()) == set([("foo", "1"), ("foo", "2")])
@@ -2223,7 +2223,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
sess.add(f)
sess.flush()
sess.expunge_all()
- f = sess.query(Foo).get(f.col1)
+ f = sess.get(Foo, f.col1)
assert len(list(f.bars)) == 2
f.bars.clear()
@@ -2266,7 +2266,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
sess.add(f)
sess.flush()
sess.expunge_all()
- f = sess.query(Foo).get(f.col1)
+ f = sess.get(Foo, f.col1)
assert len(list(f.bars)) == 2
f.bars.clear()
@@ -2308,7 +2308,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
sess.add(f)
sess.flush()
sess.expunge_all()
- f = sess.query(Foo).get(f.col1)
+ f = sess.get(Foo, f.col1)
assert len(list(f.bars)) == 2
strongref = list(f.bars.values())
@@ -2319,7 +2319,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
f.bars["a"] = Bar("a")
sess.flush()
sess.expunge_all()
- f = sess.query(Foo).get(f.col1)
+ f = sess.get(Foo, f.col1)
assert len(list(f.bars)) == 2
replaced = set([id(b) for b in list(f.bars.values())])
@@ -2564,7 +2564,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
sess.flush()
sess.expunge_all()
- p2 = sess.query(Parent).get(p1.col1)
+ p2 = sess.get(Parent, p1.col1)
o = list(p2.children)
assert len(o) == 3
diff --git a/test/orm/test_compile.py b/test/orm/test_compile.py
index 73ca571cb..343881efc 100644
--- a/test/orm/test_compile.py
+++ b/test/orm/test_compile.py
@@ -232,7 +232,7 @@ class CompileTest(fixtures.MappedTest):
},
)
sess = Session(connection)
- assert sess.query(Node).get(1).names == []
+ assert sess.get(Node, 1).names == []
def test_conflicting_backref_two(self):
meta = MetaData()
diff --git a/test/orm/test_composites.py b/test/orm/test_composites.py
index 1dc139df9..55a78ffcb 100644
--- a/test/orm/test_composites.py
+++ b/test/orm/test_composites.py
@@ -123,7 +123,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
g1 = sess.query(Graph).first()
sess.close()
- g = sess.query(Graph).get(g1.id)
+ g = sess.get(Graph, g1.id)
eq_(
[(e.start, e.end) for e in g.edges],
[(Point(3, 4), Point(5, 6)), (Point(14, 5), Point(2, 7))],
@@ -142,7 +142,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
g.edges[1].end = Point(18, 4)
sess.commit()
- e = sess.query(Edge).get(g.edges[1].id)
+ e = sess.get(Edge, g.edges[1].id)
eq_(e.end, Point(18, 4))
def test_not_none(self):
@@ -178,10 +178,8 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
sess.close()
def go():
- g2 = (
- sess.query(Graph)
- .options(sa.orm.joinedload(Graph.edges))
- .get(g.id)
+ g2 = sess.get(
+ Graph, g.id, options=[sa.orm.joinedload(Graph.edges)]
)
eq_(
@@ -407,7 +405,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
sess.add(g)
sess.commit()
- g2 = sess.query(Graph).get(1)
+ g2 = sess.get(Graph, 1)
assert g2.edges[-1].start.x is None
assert g2.edges[-1].start.y is None
@@ -582,7 +580,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
sess = self._fixture()
g = sess.query(Graph).first()
- g2 = sess.query(Graph).get([g.id, g.version_id])
+ g2 = sess.get(Graph, [g.id, g.version_id])
eq_(g.version, g2.version)
def test_get_by_composite(self):
@@ -591,7 +589,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
sess = self._fixture()
g = sess.query(Graph).first()
- g2 = sess.query(Graph).get(Version(g.id, g.version_id))
+ g2 = sess.get(Graph, Version(g.id, g.version_id))
eq_(g.version, g2.version)
def test_pk_mutation(self):
@@ -603,7 +601,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
g.version = Version(2, 1)
sess.commit()
- g2 = sess.query(Graph).get(Version(2, 1))
+ g2 = sess.get(Graph, Version(2, 1))
eq_(g.version, g2.version)
@testing.fails_on_everything_except("sqlite")
diff --git a/test/orm/test_cycles.py b/test/orm/test_cycles.py
index c75f2a549..9d0369191 100644
--- a/test/orm/test_cycles.py
+++ b/test/orm/test_cycles.py
@@ -120,7 +120,7 @@ class SelfReferentialTest(fixtures.MappedTest):
sess.add(c1)
sess.flush()
sess.expunge_all()
- c1 = sess.query(C1).get(c1.c1)
+ c1 = sess.get(C1, c1.c1)
c2 = C1()
c2.parent = c1
sess.add(c2)
@@ -1488,8 +1488,8 @@ class SelfReferentialPostUpdateTest2(fixtures.MappedTest):
session.flush()
session.expunge_all()
- f1 = session.query(A).get(f1.id)
- f2 = session.query(A).get(f2.id)
+ f1 = session.get(A, f1.id)
+ f2 = session.get(A, f2.id)
assert f2.foo is f1
diff --git a/test/orm/test_dataclasses_py3k.py b/test/orm/test_dataclasses_py3k.py
index 14132e5d7..a9b0ba58d 100644
--- a/test/orm/test_dataclasses_py3k.py
+++ b/test/orm/test_dataclasses_py3k.py
@@ -195,7 +195,7 @@ class DataclassesTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
session.commit()
with fixture_session() as session:
- a = session.query(Account).get(42)
+ a = session.get(Account, 42)
self.check_data_fixture(a)
def test_appending_to_relationship(self):
@@ -208,7 +208,7 @@ class DataclassesTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
account.add_widget(Widget("Xyzzy"))
with Session(testing.db) as session:
- a = session.query(Account).get(42)
+ a = session.get(Account, 42)
eq_(a.widget_count, 3)
eq_(len(a.widgets), 3)
diff --git a/test/orm/test_deferred.py b/test/orm/test_deferred.py
index e44d6ec86..bfdfb00b7 100644
--- a/test/orm/test_deferred.py
+++ b/test/orm/test_deferred.py
@@ -131,7 +131,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
)
sess = fixture_session()
- o1 = sess.query(Order).get(1)
+ o1 = sess.get(Order, 1)
eq_(o1.description, "order 1")
def test_unsaved_2(self):
@@ -207,7 +207,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
)
sess = fixture_session()
- o2 = sess.query(Order).get(2)
+ o2 = sess.get(Order, 2)
o2.isopen = 1
sess.flush()
@@ -290,7 +290,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
},
)
sess = fixture_session(autoflush=False)
- o = sess.query(Order).get(3)
+ o = sess.get(Order, 3)
assert "userident" not in o.__dict__
o.description = "somenewdescription"
eq_(o.description, "somenewdescription")
@@ -322,7 +322,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
)
sess = fixture_session()
- o2 = sess.query(Order).get(3)
+ o2 = sess.get(Order, 3)
# this will load the group of attributes
eq_(o2.description, "order 3")
diff --git a/test/orm/test_deprecations.py b/test/orm/test_deprecations.py
index 3eb50ebee..5abce4498 100644
--- a/test/orm/test_deprecations.py
+++ b/test/orm/test_deprecations.py
@@ -139,6 +139,8 @@ query_wparent_dep = (
r"The Query.with_parent\(\) method is considered legacy as of the 1.x"
)
+query_get_dep = r"The Query.get\(\) method is considered legacy as of the 1.x"
+
sef_dep = (
r"The Query.select_entity_from\(\) method is considered "
"legacy as of the 1.x"
@@ -159,6 +161,107 @@ def _aliased_join_deprecation(arg=None):
)
+class GetTest(QueryTest):
+ def test_get(self):
+ User = self.classes.User
+
+ s = fixture_session()
+ with assertions.expect_deprecated_20(query_get_dep):
+ assert s.query(User).get(19) is None
+ with assertions.expect_deprecated_20(query_get_dep):
+ u = s.query(User).get(7)
+ with assertions.expect_deprecated_20(query_get_dep):
+ u2 = s.query(User).get(7)
+ assert u is u2
+ s.expunge_all()
+ with assertions.expect_deprecated_20(query_get_dep):
+ u2 = s.query(User).get(7)
+ assert u is not u2
+
+ def test_loader_options(self):
+ User = self.classes.User
+
+ s = fixture_session()
+
+ with assertions.expect_deprecated_20(query_get_dep):
+ u1 = s.query(User).options(joinedload(User.addresses)).get(8)
+ eq_(len(u1.__dict__["addresses"]), 3)
+
+ def test_no_criterion_when_already_loaded(self):
+ """test that get()/load() does not use preexisting filter/etc.
+ criterion, even when we're only using the identity map."""
+
+ User, Address = self.classes.User, self.classes.Address
+
+ s = fixture_session()
+
+ s.get(User, 7)
+
+ q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
+ with assertions.expect_deprecated_20(query_get_dep):
+ with assertions.expect_raises_message(
+ sa_exc.InvalidRequestError,
+ r"Query.get\(\) being called on a Query with existing "
+ "criterion.",
+ ):
+ q.get(7)
+
+ def test_no_criterion(self):
+ """test that get()/load() does not use preexisting filter/etc.
+ criterion"""
+
+ User, Address = self.classes.User, self.classes.Address
+
+ s = fixture_session()
+
+ q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
+
+ with assertions.expect_deprecated_20(query_get_dep):
+ with assertions.expect_raises_message(
+ sa_exc.InvalidRequestError,
+ r"Query.get\(\) being called on a Query with existing "
+ "criterion.",
+ ):
+ q.get(7)
+
+ with assertions.expect_deprecated_20(query_get_dep):
+ with assertions.expect_raises_message(
+ sa_exc.InvalidRequestError,
+ r"Query.get\(\) being called on a Query with existing "
+ "criterion.",
+ ):
+ s.query(User).filter(User.id == 7).get(19)
+
+ # order_by()/get() doesn't raise
+ with assertions.expect_deprecated_20(query_get_dep):
+ s.query(User).order_by(User.id).get(8)
+
+ def test_get_against_col(self):
+ User = self.classes.User
+
+ s = fixture_session()
+
+ with assertions.expect_deprecated_20(query_get_dep):
+ with assertions.expect_raises_message(
+ sa_exc.InvalidRequestError,
+ r"get\(\) can only be used against a single mapped class.",
+ ):
+ s.query(User.id).get(5)
+
+ def test_only_full_mapper_zero(self):
+ User, Address = self.classes.User, self.classes.Address
+
+ s = fixture_session()
+ q = s.query(User, Address)
+
+ with assertions.expect_deprecated_20(query_get_dep):
+ with assertions.expect_raises_message(
+ sa_exc.InvalidRequestError,
+ r"get\(\) can only be used against a single mapped class.",
+ ):
+ q.get(5)
+
+
class CustomJoinTest(QueryTest):
run_setup_mappers = None
@@ -3049,7 +3152,7 @@ class DeprecatedMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
m.add_property("name", synonym("_name"))
sess = fixture_session(autocommit=False)
- assert sess.query(User).get(7)
+ assert sess.get(User, 7)
u = sess.query(User).filter_by(name="jack").one()
@@ -3508,7 +3611,7 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
self.assert_sql_count(testing.db, go, count)
sess = fixture_session()
- user = sess.query(User).get(7)
+ user = sess.get(User, 7)
closed_mapper = User.closed_orders.entity
open_mapper = User.open_orders.entity
@@ -8240,7 +8343,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
with assertions.expect_deprecated_20(query_wparent_dep):
q = sess.query(Address).select_from(Address).with_parent(u1)
self.assert_compile(
@@ -8256,7 +8359,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
with assertions.expect_deprecated_20(query_wparent_dep):
q = sess.query(User, Address).with_parent(
u1, User.addresses, from_entity=Address
@@ -8276,7 +8379,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
with assertions.expect_deprecated_20(query_wparent_dep):
q = sess.query(a1).with_parent(u1)
@@ -8294,7 +8397,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
with assertions.expect_deprecated_20(query_wparent_dep):
q = sess.query(a1).with_parent(u1, User.addresses)
@@ -8312,7 +8415,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
a2 = aliased(Address)
with assertions.expect_deprecated_20(query_wparent_dep):
@@ -8336,7 +8439,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
a2 = aliased(Address)
with assertions.expect_deprecated_20(query_wparent_dep):
diff --git a/test/orm/test_dynamic.py b/test/orm/test_dynamic.py
index 8479152bf..8efd45238 100644
--- a/test/orm/test_dynamic.py
+++ b/test/orm/test_dynamic.py
@@ -236,7 +236,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
User, Address = self._user_address_fixture()
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expunge(u)
assert_raises(
orm_exc.DetachedInstanceError,
@@ -253,7 +253,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
User, Address = self._user_address_fixture()
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expunge(u)
with testing.expect_warnings(
@@ -332,7 +332,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
def test_order_by(self):
User, Address = self._user_address_fixture()
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
eq_(
list(u.addresses.order_by(desc(Address.email_address))),
[
@@ -350,7 +350,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
)
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
with self.sql_execution_asserter() as asserter:
for i in range(3):
@@ -384,7 +384,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
)
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
eq_(
list(u.addresses),
[
@@ -442,14 +442,14 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
self.mapper_registry.map_imperatively(User, users)
sess = fixture_session()
- ad = sess.query(Address).get(1)
+ ad = sess.get(Address, 1)
def go():
ad.user = None
self.assert_sql_count(testing.db, go, 0)
sess.flush()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
assert ad not in u.addresses
def test_no_count(self):
@@ -708,7 +708,7 @@ class UOWTest(
), # noqa
0,
)
- u1 = sess.query(User).get(u1.id)
+ u1 = sess.get(User, u1.id)
u1.addresses.append(a1)
sess.flush()
diff --git a/test/orm/test_eager_relations.py b/test/orm/test_eager_relations.py
index c235edadf..32abc3b31 100644
--- a/test/orm/test_eager_relations.py
+++ b/test/orm/test_eager_relations.py
@@ -183,7 +183,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- user = sess.query(User).get(7)
+ user = sess.get(User, 7)
assert getattr(User, "addresses").hasparent(
sa.orm.attributes.instance_state(user.addresses[0]),
optimistic=True,
@@ -488,7 +488,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
eq_(q.all(), [User(id=7, addresses=[Address(id=1)])])
sess.expunge_all()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
def go():
eq_(u.addresses[0].user_id, 7)
@@ -524,7 +524,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
sess.expunge_all()
def go():
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
eq_(
User(
id=8,
@@ -1871,7 +1871,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def go():
a = q.filter(addresses.c.id == 1).one()
is_not(a.user, None)
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
is_(a.user, u1)
self.assert_sql_count(testing.db, go, 1)
@@ -3810,7 +3810,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_runs_query_on_refresh(self):
User, Address, sess = self._eager_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
assert "addresses" in u1.__dict__
sess.expire(u1)
@@ -3848,7 +3848,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
)
sess = fixture_session(autoflush=False)
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
assert "addresses" in u1.__dict__
sess.expire(u1)
@@ -3870,7 +3870,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
# out an existing collection to function correctly with
# populate_existing.
User, Address, sess = self._eager_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
u1.addresses[2].email_address = "foofoo"
del u1.addresses[1]
u1 = sess.query(User).populate_existing().filter_by(id=8).one()
@@ -3893,7 +3893,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_loads_second_level_collection_to_scalar(self):
User, Address, Dingaling, sess = self._collection_to_scalar_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
a1 = Address()
u1.addresses.append(a1)
a2 = u1.addresses[0]
@@ -3913,7 +3913,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_loads_second_level_collection_to_collection(self):
User, Order, Item, sess = self._collection_to_collection_fixture()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
u1.orders
o1 = Order()
u1.orders.append(o1)
diff --git a/test/orm/test_events.py b/test/orm/test_events.py
index 297dfd232..7d263de62 100644
--- a/test/orm/test_events.py
+++ b/test/orm/test_events.py
@@ -777,9 +777,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
sess.add(u)
sess.flush()
sess.expire(u)
- u = sess.query(User).get(u.id)
+ u = sess.get(User, u.id)
sess.expunge_all()
- u = sess.query(User).get(u.id)
+ u = sess.get(User, u.id)
u.name = "u1 changed"
sess.flush()
sess.delete(u)
@@ -903,9 +903,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
am = AdminUser(name="au1", email_address="au1@e1")
sess.add(am)
sess.flush()
- am = sess.query(AdminUser).populate_existing().get(am.id)
+ am = sess.get(AdminUser, am.id, populate_existing=True)
sess.expunge_all()
- am = sess.query(AdminUser).get(am.id)
+ am = sess.get(AdminUser, am.id)
am.name = "au1 changed"
sess.flush()
sess.delete(am)
@@ -971,9 +971,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
am = AdminUser(name="au1", email_address="au1@e1")
sess.add(am)
sess.flush()
- am = sess.query(AdminUser).populate_existing().get(am.id)
+ am = sess.get(AdminUser, am.id, populate_existing=True)
sess.expunge_all()
- am = sess.query(AdminUser).get(am.id)
+ am = sess.get(AdminUser, am.id)
am.name = "au1 changed"
sess.flush()
sess.delete(am)
diff --git a/test/orm/test_expire.py b/test/orm/test_expire.py
index 411e09d00..5a12a7da4 100644
--- a/test/orm/test_expire.py
+++ b/test/orm/test_expire.py
@@ -50,7 +50,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
assert len(u.addresses) == 1
u.name = "foo"
del u.addresses[0]
@@ -96,8 +96,8 @@ class ExpireTest(_fixtures.FixtureTest):
s = fixture_session()
- a1 = s.query(Address).get(2)
- u1 = s.query(User).get(7)
+ a1 = s.get(Address, 2)
+ u1 = s.get(User, 7)
a1.user = u1
s.expire(a1, ["user_id"])
@@ -110,7 +110,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session()
- u = s.query(User).get(7)
+ u = s.get(User, 7)
s.expunge_all()
assert_raises_message(
@@ -125,11 +125,11 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session(autocommit=False)
- u = s.query(User).get(10)
+ u = s.get(User, 10)
s.expire_all()
def go():
- s.query(User).get(10) # get() refreshes
+ s.get(User, 10) # get() refreshes
self.assert_sql_count(testing.db, go, 1)
@@ -139,7 +139,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.assert_sql_count(testing.db, go, 0)
def go():
- s.query(User).get(10) # expire flag reset, so not expired
+ s.get(User, 10) # expire flag reset, so not expired
self.assert_sql_count(testing.db, go, 0)
@@ -148,14 +148,14 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session(autocommit=False)
- u = s.query(User).get(10)
+ u = s.get(User, 10)
s.expire_all()
s.execute(users.delete().where(User.id == 10))
# object is gone, get() returns None, removes u from session
assert u in s
- assert s.query(User).get(10) is None
+ assert s.get(User, 10) is None
assert u not in s # and expunges
def test_refresh_on_deleted_raises(self):
@@ -163,7 +163,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session(autocommit=False)
- u = s.query(User).get(10)
+ u = s.get(User, 10)
s.expire_all()
s.expire_all()
@@ -184,12 +184,12 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session(autocommit=False)
- u = s.query(User).get(10)
+ u = s.get(User, 10)
s.expire_all()
s.execute(users.delete().where(User.id == 10))
# do a get()/remove u from session
- assert s.query(User).get(10) is None
+ assert s.get(User, 10) is None
assert u not in s
s.rollback()
@@ -241,7 +241,7 @@ class ExpireTest(_fixtures.FixtureTest):
User, users, properties={"name": deferred(users.c.name)}
)
s = fixture_session(autocommit=False)
- u = s.query(User).get(10)
+ u = s.get(User, 10)
assert "name" not in u.__dict__
s.execute(users.delete().where(User.id == 10))
@@ -273,7 +273,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
s = fixture_session(autoflush=True, autocommit=False)
- u = s.query(User).get(8)
+ u = s.get(User, 8)
adlist = u.addresses
eq_(
adlist,
@@ -317,7 +317,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
s = fixture_session(autoflush=True, autocommit=False)
- u = s.query(User).get(8)
+ u = s.get(User, 8)
assert_raises_message(
sa_exc.InvalidRequestError,
"properties specified for refresh",
@@ -331,12 +331,12 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session()
- u = s.query(User).get(7)
+ u = s.get(User, 7)
s.expire(u)
s.refresh(u)
def go():
- u = s.query(User).get(7)
+ u = s.get(User, 7)
eq_(u.name, "jack")
self.assert_sql_count(testing.db, go, 0)
@@ -347,7 +347,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
sess.expire(u, attribute_names=["name"])
@@ -357,14 +357,14 @@ class ExpireTest(_fixtures.FixtureTest):
self.assert_sql_count(testing.db, go, 0)
sess.flush()
sess.expunge_all()
- assert sess.query(User).get(7).name == "somenewname"
+ assert sess.get(User, 7).name == "somenewname"
def test_no_session(self):
users, User = self.tables.users, self.classes.User
self.mapper_registry.map_imperatively(User, users)
sess = fixture_session()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
sess.expire(u, attribute_names=["name"])
sess.expunge(u)
@@ -390,7 +390,7 @@ class ExpireTest(_fixtures.FixtureTest):
# occur during a flush() on an instance that was just inserted
self.mapper_registry.map_imperatively(User, users)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
sess.expire(u, attribute_names=["name"])
sess.expunge(u)
@@ -406,7 +406,7 @@ class ExpireTest(_fixtures.FixtureTest):
# are absent. ensure an error is raised.
self.mapper_registry.map_imperatively(User, users)
sess = fixture_session()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
sess.expire(u, attribute_names=["name", "id"])
sess.expunge(u)
@@ -423,7 +423,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Order, orders)
sess = fixture_session(autoflush=False)
- o = sess.query(Order).get(3)
+ o = sess.get(Order, 3)
sess.expire(o)
o.description = "order 3 modified"
@@ -475,7 +475,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Order, orders)
sess = fixture_session(autoflush=False)
- o = sess.query(Order).get(3)
+ o = sess.get(Order, 3)
sess.expire(o)
sess.execute(orders.update(), dict(description="order 3 modified"))
@@ -509,7 +509,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
s = fixture_session(autoflush=False)
- u = s.query(User).get(8)
+ u = s.get(User, 8)
assert u.addresses[0].email_address == "ed@wood.com"
u.addresses[0].email_address = "someotheraddress"
@@ -535,7 +535,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
s = fixture_session(autoflush=False)
- u = s.query(User).get(8)
+ u = s.get(User, 8)
assert u.addresses[0].email_address == "ed@wood.com"
u.addresses[0].email_address = "someotheraddress"
@@ -574,7 +574,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
s = fixture_session(autoflush=False)
- u = s.query(User).get(8)
+ u = s.get(User, 8)
a = Address(id=12, email_address="foobar")
u.addresses.append(a)
@@ -606,7 +606,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
sess.expire(u)
assert "name" not in u.__dict__
@@ -641,7 +641,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
sess.expire(u)
assert "name" not in u.__dict__
@@ -690,7 +690,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
a1 = u.addresses[0]
eq_(a1.email_address, "jack@bean.com")
@@ -837,7 +837,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expire(u, ["name", "addresses"])
u.addresses
assert "name" not in u.__dict__
@@ -867,7 +867,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expire(u)
u.id
@@ -892,7 +892,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- u = sess.query(User).options(joinedload(User.addresses)).get(8)
+ u = sess.get(User, 8, options=[joinedload(User.addresses)])
sess.expire(u)
u.id
assert "addresses" in u.__dict__
@@ -917,7 +917,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expire(u)
# here, the lazy loader will encounter the attribute already
@@ -938,7 +938,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
sess = fixture_session()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
assert "name" in u.__dict__
assert u.uname == u.name
@@ -962,7 +962,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Order, orders)
sess = fixture_session(autoflush=False)
- o = sess.query(Order).get(3)
+ o = sess.get(Order, 3)
sess.expire(o, attribute_names=["description"])
assert "id" in o.__dict__
@@ -1031,7 +1031,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expire(u, ["name", "addresses"])
assert "name" not in u.__dict__
@@ -1093,7 +1093,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
sess.expire(u, ["name", "addresses"])
assert "name" not in u.__dict__
@@ -1147,7 +1147,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
assert "name" in u.__dict__
u.addresses
assert "addresses" in u.__dict__
@@ -1174,7 +1174,7 @@ class ExpireTest(_fixtures.FixtureTest):
)
sess = fixture_session(autoflush=False)
- o = sess.query(Order).get(3)
+ o = sess.get(Order, 3)
sess.expire(o, ["description", "isopen"])
assert "isopen" not in o.__dict__
assert "description" not in o.__dict__
@@ -1206,7 +1206,7 @@ class ExpireTest(_fixtures.FixtureTest):
sess.expunge_all()
# same tests, using deferred at the options level
- o = sess.query(Order).options(sa.orm.defer(Order.description)).get(3)
+ o = sess.get(Order, 3, options=[sa.orm.defer(Order.description)])
assert "description" not in o.__dict__
@@ -1262,7 +1262,7 @@ class ExpireTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session(autoflush=False)
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
assert len(u.addresses) == 3
sess.expire(u)
assert "addresses" not in u.__dict__
@@ -1637,7 +1637,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
Engineer = self.classes.Engineer
sess = fixture_session(autoflush=False)
- e1 = sess.query(Engineer).get(2)
+ e1 = sess.get(Engineer, 2)
sess.expire(e1, attribute_names=["name"])
sess.expunge(e1)
@@ -1652,7 +1652,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
# same as test_no_instance_key, but the PK columns
# are absent. ensure an error is raised.
sess = fixture_session(autoflush=False)
- e1 = sess.query(Engineer).get(2)
+ e1 = sess.get(Engineer, 2)
sess.expire(e1, attribute_names=["name", "person_id"])
sess.expunge(e1)
@@ -1890,7 +1890,7 @@ class RefreshTest(_fixtures.FixtureTest):
},
)
s = fixture_session(autoflush=False)
- u = s.query(User).get(7)
+ u = s.get(User, 7)
u.name = "foo"
a = Address()
assert sa.orm.object_session(a) is None
@@ -1925,7 +1925,7 @@ class RefreshTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session()
- u = s.query(User).get(7)
+ u = s.get(User, 7)
s.expunge_all()
assert_raises_message(
sa_exc.InvalidRequestError,
@@ -1944,8 +1944,8 @@ class RefreshTest(_fixtures.FixtureTest):
s = fixture_session()
- a1 = s.query(Address).get(2)
- u1 = s.query(User).get(7)
+ a1 = s.get(Address, 2)
+ u1 = s.get(User, 7)
a1.user = u1
s.refresh(a1, ["user_id"])
@@ -1958,7 +1958,7 @@ class RefreshTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(User, users)
s = fixture_session()
- u = s.query(User).get(7)
+ u = s.get(User, 7)
s.expire(u)
assert "name" not in u.__dict__
s.refresh(u)
@@ -2017,13 +2017,13 @@ class RefreshTest(_fixtures.FixtureTest):
)
s = fixture_session()
- u = s.query(User).get(8)
+ u = s.get(User, 8)
assert len(u.addresses) == 3
s.refresh(u)
assert len(u.addresses) == 3
s = fixture_session()
- u = s.query(User).get(8)
+ u = s.get(User, 8)
assert len(u.addresses) == 3
s.expire(u)
assert len(u.addresses) == 3
diff --git a/test/orm/test_froms.py b/test/orm/test_froms.py
index d8da90d42..af3dd8a60 100644
--- a/test/orm/test_froms.py
+++ b/test/orm/test_froms.py
@@ -3604,14 +3604,15 @@ class ExternalColumnsTest(QueryTest):
self.mapper_registry.map_imperatively(
Order, orders, properties={"address": relationship(Address)}
) # m2o
+ configure_mappers()
sess = fixture_session()
def go():
- o1 = (
- sess.query(Order)
- .options(joinedload(Order.address).joinedload(Address.user))
- .get(1)
+ o1 = sess.get(
+ Order,
+ 1,
+ options=[joinedload(Order.address).joinedload(Address.user)],
)
eq_(o1.address.user.count, 1)
diff --git a/test/orm/test_inspect.py b/test/orm/test_inspect.py
index dc732181b..3cc7640cf 100644
--- a/test/orm/test_inspect.py
+++ b/test/orm/test_inspect.py
@@ -584,7 +584,7 @@ class %s(SuperCls):
s.flush()
insp = inspect(u1)
eq_(insp.identity, (u1.id,))
- is_(s.query(User).get(insp.identity), u1)
+ is_(s.get(User, insp.identity), u1)
def test_is_instance(self):
User = self.classes.User
diff --git a/test/orm/test_lazy_relations.py b/test/orm/test_lazy_relations.py
index 295c9049c..3ebff5f43 100644
--- a/test/orm/test_lazy_relations.py
+++ b/test/orm/test_lazy_relations.py
@@ -227,7 +227,7 @@ class LazyTest(_fixtures.FixtureTest):
self.mapper_registry.map_imperatively(Address, addresses)
sess = fixture_session()
- user = sess.query(User).get(7)
+ user = sess.get(User, 7)
assert getattr(User, "addresses").hasparent(
attributes.instance_state(user.addresses[0]), optimistic=True
)
@@ -651,7 +651,7 @@ class LazyTest(_fixtures.FixtureTest):
self.assert_sql_count(testing.db, go, 15)
sess = fixture_session()
- user = sess.query(User).get(7)
+ user = sess.get(User, 7)
closed_mapper = User.closed_orders.entity
open_mapper = User.open_orders.entity
@@ -762,7 +762,7 @@ class LazyTest(_fixtures.FixtureTest):
)
# load user that is attached to the address
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
def go():
# lazy load of a1.user should get it from the session
@@ -903,7 +903,7 @@ class LazyTest(_fixtures.FixtureTest):
)
# load user that is attached to the address
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
def go():
# lazy load of a1.user should get it from the session
@@ -936,7 +936,7 @@ class LazyTest(_fixtures.FixtureTest):
assert a.user is not None
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
assert a.user is u1
@@ -1259,8 +1259,8 @@ class M2OGetTest(_fixtures.FixtureTest):
sess.flush()
sess.expunge_all()
- ad2 = sess.query(Address).get(1)
- ad3 = sess.query(Address).get(ad1.id)
+ ad2 = sess.get(Address, 1)
+ ad3 = sess.get(Address, ad1.id)
def go():
# one lazy load
diff --git a/test/orm/test_loading.py b/test/orm/test_loading.py
index a835b2908..050dd3a2d 100644
--- a/test/orm/test_loading.py
+++ b/test/orm/test_loading.py
@@ -51,7 +51,7 @@ class InstanceProcessorTest(_fixtures.FixtureTest):
Order(id=5, address=None),
],
),
- s.query(User).populate_existing().get(7),
+ s.get(User, 7, populate_existing=True),
)
self.assert_sql_count(testing.db, go, 1)
diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py
index cbc164ff3..0f84923ac 100644
--- a/test/orm/test_mapper.py
+++ b/test/orm/test_mapper.py
@@ -280,7 +280,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
)
s = fixture_session()
- u = s.query(User).get(7)
+ u = s.get(User, 7)
eq_(u._name, "jack")
eq_(u._id, 7)
u2 = s.query(User).filter_by(user_name="jack").one()
@@ -724,7 +724,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
m.add_property("addresses", relationship(Address))
sess = fixture_session(autocommit=False)
- assert sess.query(User).get(7)
+ assert sess.get(User, 7)
u = sess.query(User).filter_by(name="jack").one()
@@ -926,8 +926,8 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
)
sess = fixture_session()
- u1 = sess.query(User).get(7)
- u2 = sess.query(User).get(8)
+ u1 = sess.get(User, 7)
+ u2 = sess.get(User, 8)
# comparaison ops need to work
a1 = sess.query(Address).filter(Address.user == u1).one()
eq_(a1.id, 1)
@@ -1193,7 +1193,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
s = Session(testing.db)
s.add(u1)
s.commit()
- assert s.query(NoBoolAllowed).get(u1.id) is u1
+ assert s.get(NoBoolAllowed, u1.id) is u1
def test_we_dont_call_eq(self):
class NoEqAllowed(object):
diff --git a/test/orm/test_merge.py b/test/orm/test_merge.py
index 034339b29..d2eade0ea 100644
--- a/test/orm/test_merge.py
+++ b/test/orm/test_merge.py
@@ -526,7 +526,7 @@ class MergeTest(_fixtures.FixtureTest):
sess.flush()
sess.expunge_all()
- u2 = sess.query(User).get(7)
+ u2 = sess.get(User, 7)
eq_(
u2,
@@ -672,7 +672,7 @@ class MergeTest(_fixtures.FixtureTest):
# assert data was saved
sess2 = fixture_session()
- u2 = sess2.query(User).get(7)
+ u2 = sess2.get(User, 7)
eq_(
u2,
User(
@@ -714,7 +714,7 @@ class MergeTest(_fixtures.FixtureTest):
# assert modified/merged data was saved
with fixture_session() as sess:
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
eq_(
u,
User(
@@ -774,7 +774,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 18)
with fixture_session(expire_on_commit=False) as sess5:
- u2 = sess5.query(User).get(u.id)
+ u2 = sess5.get(User, u.id)
eq_(u2.name, "fred2")
eq_(u2.addresses[1].email_address, "afafds")
eq_(load.called, 21)
@@ -908,7 +908,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 0)
sess2 = fixture_session()
- u2 = sess2.query(User).get(u.id)
+ u2 = sess2.get(User, u.id)
eq_(load.called, 1)
u.addresses[1].email_address = "addr 2 modified"
@@ -917,7 +917,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 3)
sess3 = fixture_session()
- u3 = sess3.query(User).get(u.id)
+ u3 = sess3.get(User, u.id)
eq_(load.called, 4)
u.name = "also fred"
@@ -1002,7 +1002,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 0)
with fixture_session(expire_on_commit=False) as sess2:
- o2 = sess2.query(Order).get(o.id)
+ o2 = sess2.get(Order, o.id)
eq_(load.called, 1)
o.items[1].description = "item 2 modified"
@@ -1011,7 +1011,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 3)
with fixture_session(expire_on_commit=False) as sess3:
- o3 = sess3.query(Order).get(o.id)
+ o3 = sess3.get(Order, o.id)
eq_(load.called, 4)
o.description = "desc modified"
@@ -1054,7 +1054,7 @@ class MergeTest(_fixtures.FixtureTest):
eq_(load.called, 0)
sess2 = fixture_session()
- u2 = sess2.query(User).get(7)
+ u2 = sess2.get(User, 7)
eq_(load.called, 1)
u2.name = "fred2"
u2.address.email_address = "hoho@lalala.com"
@@ -1211,9 +1211,7 @@ class MergeTest(_fixtures.FixtureTest):
sess.commit()
sess2 = fixture_session()
- u2 = (
- sess2.query(User).options(sa.orm.joinedload(User.addresses)).get(7)
- )
+ u2 = sess2.get(User, 7, options=[sa.orm.joinedload(User.addresses)])
sess3 = fixture_session()
u3 = sess3.merge(u2, load=False) # noqa
@@ -1252,7 +1250,7 @@ class MergeTest(_fixtures.FixtureTest):
"mapped instances before merging with load=False." in str(e)
)
- u2 = sess2.query(User).get(7)
+ u2 = sess2.get(User, 7)
sess3 = fixture_session()
u3 = sess3.merge(u2, load=False) # noqa
@@ -1361,7 +1359,7 @@ class MergeTest(_fixtures.FixtureTest):
with fixture_session() as sess2:
eq_(
- sess2.query(User).get(u2.id).addresses[0].email_address,
+ sess2.get(User, u2.id).addresses[0].email_address,
"somenewaddress",
)
@@ -1375,7 +1373,7 @@ class MergeTest(_fixtures.FixtureTest):
sess2 = fixture_session()
sess = fixture_session()
- u = sess.query(User).get(7)
+ u = sess.get(User, 7)
u.addresses.append(Address())
sess2 = fixture_session()
try:
@@ -1392,7 +1390,7 @@ class MergeTest(_fixtures.FixtureTest):
sess2.flush()
sess2.expunge_all()
eq_(
- sess2.query(User).get(u2.id).addresses[0].email_address,
+ sess2.get(User, u2.id).addresses[0].email_address,
"somenewaddress",
)
except sa.exc.InvalidRequestError as e:
diff --git a/test/orm/test_naturalpks.py b/test/orm/test_naturalpks.py
index 8f9e36620..05df71c6a 100644
--- a/test/orm/test_naturalpks.py
+++ b/test/orm/test_naturalpks.py
@@ -115,20 +115,20 @@ class NaturalPKTest(fixtures.MappedTest):
sess.add(u1)
sess.flush()
- assert sess.query(User).get("jack") is u1
+ assert sess.get(User, "jack") is u1
u1.username = "ed"
sess.flush()
def go():
- assert sess.query(User).get("ed") is u1
+ assert sess.get(User, "ed") is u1
self.assert_sql_count(testing.db, go, 0)
- assert sess.query(User).get("jack") is None
+ assert sess.get(User, "jack") is None
sess.expunge_all()
- u1 = sess.query(User).get("ed")
+ u1 = sess.get(User, "ed")
eq_(User(username="ed", fullname="jack"), u1)
def test_load_after_expire(self):
@@ -141,7 +141,7 @@ class NaturalPKTest(fixtures.MappedTest):
sess.add(u1)
sess.flush()
- assert sess.query(User).get("jack") is u1
+ assert sess.get(User, "jack") is u1
sess.execute(
users.update().values({User.username: "jack"}), dict(username="ed")
@@ -154,8 +154,8 @@ class NaturalPKTest(fixtures.MappedTest):
assert_raises(sa.orm.exc.ObjectDeletedError, getattr, u1, "username")
sess.expunge_all()
- assert sess.query(User).get("jack") is None
- assert sess.query(User).get("ed").fullname == "jack"
+ assert sess.get(User, "jack") is None
+ assert sess.get(User, "ed").fullname == "jack"
@testing.requires.returning
def test_update_to_sql_expr(self):
@@ -203,13 +203,13 @@ class NaturalPKTest(fixtures.MappedTest):
sess.add(u1)
sess.flush()
- assert sess.query(User).get("jack") is u1
+ assert sess.get(User, "jack") is u1
sess.expire(u1)
u1.username = "ed"
sess.flush()
sess.expunge_all()
- assert sess.query(User).get("ed").fullname == "jack"
+ assert sess.get(User, "ed").fullname == "jack"
@testing.requires.on_update_cascade
def test_onetomany_passive(self):
@@ -244,7 +244,7 @@ class NaturalPKTest(fixtures.MappedTest):
sess.add(u1)
sess.flush()
- assert sess.query(Address).get("jack1") is u1.addresses[0]
+ assert sess.get(Address, "jack1") is u1.addresses[0]
u1.username = "ed"
sess.flush()
@@ -256,7 +256,7 @@ class NaturalPKTest(fixtures.MappedTest):
sess.query(Address).all(),
)
- u1 = sess.query(User).get("ed")
+ u1 = sess.get(User, "ed")
u1.username = "jack"
def go():
@@ -275,16 +275,16 @@ class NaturalPKTest(fixtures.MappedTest):
username="jack",
addresses=[Address(username="jack"), Address(username="jack")],
)
- == sess.query(User).get("jack")
+ == sess.get(User, "jack")
)
- u1 = sess.query(User).get("jack")
+ u1 = sess.get(User, "jack")
u1.addresses = []
u1.username = "fred"
sess.flush()
sess.expunge_all()
- assert sess.query(Address).get("jack1").username is None
- u1 = sess.query(User).get("fred")
+ assert sess.get(Address, "jack1").username is None
+ u1 = sess.get(User, "fred")
eq_(User(username="fred", fullname="jack"), u1)
@testing.requires.on_update_cascade
@@ -525,7 +525,7 @@ class NaturalPKTest(fixtures.MappedTest):
sess.query(Address).all(),
)
- u1 = sess.query(User).get("ed")
+ u1 = sess.get(User, "ed")
assert len(u1.addresses) == 2 # load addresses
u1.username = "fred"
@@ -619,7 +619,7 @@ class NaturalPKTest(fixtures.MappedTest):
eq_(["ed", "jack"], sorted([u.username for u in r[1].users]))
sess.expunge_all()
- u2 = sess.query(User).get(u2.username)
+ u2 = sess.get(User, u2.username)
u2.username = "wendy"
sess.flush()
r = sess.query(Item).filter(with_parent(u2, User.items)).all()
@@ -840,16 +840,16 @@ class ReversePKsTest(fixtures.MappedTest):
a_editable.status = PUBLISHED
session.commit()
- assert session.query(User).get([1, PUBLISHED]) is a_editable
- assert session.query(User).get([1, ARCHIVED]) is a_published
+ assert session.get(User, [1, PUBLISHED]) is a_editable
+ assert session.get(User, [1, ARCHIVED]) is a_published
a_published.status = PUBLISHED
a_editable.status = EDITABLE
session.commit()
- assert session.query(User).get([1, PUBLISHED]) is a_published
- assert session.query(User).get([1, EDITABLE]) is a_editable
+ assert session.get(User, [1, PUBLISHED]) is a_published
+ assert session.get(User, [1, EDITABLE]) is a_editable
@testing.requires.savepoints
def test_reverse_savepoint(self):
@@ -1105,7 +1105,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
[("jack",), ("jack",)],
)
- assert sess.query(Address).get(a1.id) is u1.addresses[0]
+ assert sess.get(Address, a1.id) is u1.addresses[0]
u1.username = "ed"
sess.flush()
@@ -1121,7 +1121,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
sess.query(Address).all(),
)
- u1 = sess.query(User).get(u1.id)
+ u1 = sess.get(User, u1.id)
u1.username = "jack"
def go():
@@ -1140,16 +1140,16 @@ class NonPKCascadeTest(fixtures.MappedTest):
username="jack",
addresses=[Address(username="jack"), Address(username="jack")],
)
- == sess.query(User).get(u1.id)
+ == sess.get(User, u1.id)
)
sess.expunge_all()
- u1 = sess.query(User).get(u1.id)
+ u1 = sess.get(User, u1.id)
u1.addresses = []
u1.username = "fred"
sess.flush()
sess.expunge_all()
- a1 = sess.query(Address).get(a1.id)
+ a1 = sess.get(Address, a1.id)
eq_(a1.username, None)
eq_(
@@ -1157,7 +1157,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
[(None,), (None,)],
)
- u1 = sess.query(User).get(u1.id)
+ u1 = sess.get(User, u1.id)
eq_(User(username="fred", fullname="jack"), u1)
diff --git a/test/orm/test_onetoone.py b/test/orm/test_onetoone.py
index efc49d641..dd890dba8 100644
--- a/test/orm/test_onetoone.py
+++ b/test/orm/test_onetoone.py
@@ -85,8 +85,8 @@ class O2OTest(fixtures.MappedTest):
jid = j.id
pid = p.id
- j = session.query(Jack).get(jid)
- p = session.query(Port).get(pid)
+ j = session.get(Jack, jid)
+ p = session.get(Port, pid)
assert p.jack is not None
assert p.jack is j
assert j.port is not None
@@ -95,8 +95,8 @@ class O2OTest(fixtures.MappedTest):
session.expunge_all()
- j = session.query(Jack).get(jid)
- p = session.query(Port).get(pid)
+ j = session.get(Jack, jid)
+ p = session.get(Port, pid)
j.port = None
diff --git a/test/orm/test_pickled.py b/test/orm/test_pickled.py
index e6f15c47b..11d90bd59 100644
--- a/test/orm/test_pickled.py
+++ b/test/orm/test_pickled.py
@@ -139,7 +139,7 @@ class PickleTest(fixtures.MappedTest):
sess.expunge_all()
- eq_(u1, sess.query(User).get(u2.id))
+ eq_(u1, sess.get(User, u2.id))
def test_no_mappers(self):
users = self.tables.users
@@ -199,7 +199,7 @@ class PickleTest(fixtures.MappedTest):
sess.commit()
with fixture_session() as sess:
- u1 = sess.query(User).get(u1.id)
+ u1 = sess.get(User, u1.id)
assert "name" not in u1.__dict__
assert "addresses" not in u1.__dict__
@@ -342,15 +342,15 @@ class PickleTest(fixtures.MappedTest):
sess.commit()
with fixture_session(expire_on_commit=False) as sess:
- u1 = (
- sess.query(User)
- .options(
+ u1 = sess.get(
+ User,
+ u1.id,
+ options=[
sa.orm.defer(User.name),
sa.orm.defaultload(User.addresses).defer(
Address.email_address
),
- )
- .get(u1.id)
+ ],
)
assert "name" not in u1.__dict__
assert "addresses" not in u1.__dict__
diff --git a/test/orm/test_query.py b/test/orm/test_query.py
index 1ff661284..c567cf1d1 100644
--- a/test/orm/test_query.py
+++ b/test/orm/test_query.py
@@ -1161,14 +1161,6 @@ class GetTest(QueryTest):
s = fixture_session()
- u1 = s.query(User).options(joinedload(User.addresses)).get(8)
- eq_(len(u1.__dict__["addresses"]), 3)
-
- def test_loader_options_future(self):
- User = self.classes.User
-
- s = fixture_session()
-
u1 = s.get(User, 8, options=[joinedload(User.addresses)])
eq_(len(u1.__dict__["addresses"]), 3)
@@ -1176,13 +1168,13 @@ class GetTest(QueryTest):
CompositePk = self.classes.CompositePk
s = fixture_session()
- is_(s.query(CompositePk).get({"i": 100, "j": 100}), None)
+ is_(s.get(CompositePk, {"i": 100, "j": 100}), None)
def test_get_composite_pk_keyword_based_result(self):
CompositePk = self.classes.CompositePk
s = fixture_session()
- one_two = s.query(CompositePk).get({"i": 1, "j": 2})
+ one_two = s.get(CompositePk, {"i": 1, "j": 2})
eq_(one_two.i, 1)
eq_(one_two.j, 2)
eq_(one_two.k, 3)
@@ -1191,41 +1183,31 @@ class GetTest(QueryTest):
CompositePk = self.classes.CompositePk
s = fixture_session()
- q = s.query(CompositePk)
- assert_raises(sa_exc.InvalidRequestError, q.get, {"i": 1, "k": 2})
+ assert_raises(
+ sa_exc.InvalidRequestError, s.get, CompositePk, {"i": 1, "k": 2}
+ )
def test_get_composite_pk_keyword_based_too_few_keys(self):
CompositePk = self.classes.CompositePk
s = fixture_session()
- q = s.query(CompositePk)
- assert_raises(sa_exc.InvalidRequestError, q.get, {"i": 1})
+ assert_raises(sa_exc.InvalidRequestError, s.get, CompositePk, {"i": 1})
def test_get_composite_pk_keyword_based_too_many_keys(self):
CompositePk = self.classes.CompositePk
s = fixture_session()
- q = s.query(CompositePk)
assert_raises(
- sa_exc.InvalidRequestError, q.get, {"i": 1, "j": "2", "k": 3}
+ sa_exc.InvalidRequestError,
+ s.get,
+ CompositePk,
+ {"i": 1, "j": "2", "k": 3},
)
def test_get(self):
User = self.classes.User
s = fixture_session()
- assert s.query(User).get(19) is None
- u = s.query(User).get(7)
- u2 = s.query(User).get(7)
- assert u is u2
- s.expunge_all()
- u2 = s.query(User).get(7)
- assert u is not u2
-
- def test_get_future(self):
- User = self.classes.User
-
- s = fixture_session()
assert s.get(User, 19) is None
u = s.get(User, 7)
u2 = s.get(User, 7)
@@ -1238,13 +1220,13 @@ class GetTest(QueryTest):
CompositePk = self.classes.CompositePk
s = fixture_session()
- assert s.query(CompositePk).get((100, 100)) is None
+ assert s.get(CompositePk, (100, 100)) is None
def test_get_composite_pk_result(self):
CompositePk = self.classes.CompositePk
s = fixture_session()
- one_two = s.query(CompositePk).get((1, 2))
+ one_two = s.get(CompositePk, (1, 2))
assert one_two.i == 1
assert one_two.j == 2
assert one_two.k == 3
@@ -1253,29 +1235,52 @@ class GetTest(QueryTest):
CompositePk = self.classes.CompositePk
s = fixture_session()
- q = s.query(CompositePk)
- assert_raises(sa_exc.InvalidRequestError, q.get, 7)
+ assert_raises_message(
+ sa_exc.InvalidRequestError,
+ r"Incorrect number of values in identifier to formulate "
+ r"primary key for session.get\(\); ",
+ s.get,
+ CompositePk,
+ 7,
+ )
def test_get_too_few_params_tuple(self):
CompositePk = self.classes.CompositePk
s = fixture_session()
- q = s.query(CompositePk)
- assert_raises(sa_exc.InvalidRequestError, q.get, (7,))
+ assert_raises_message(
+ sa_exc.InvalidRequestError,
+ r"Incorrect number of values in identifier to formulate "
+ r"primary key for session.get\(\); ",
+ s.get,
+ CompositePk,
+ (7,),
+ )
def test_get_too_many_params(self):
CompositePk = self.classes.CompositePk
s = fixture_session()
- q = s.query(CompositePk)
- assert_raises(sa_exc.InvalidRequestError, q.get, (7, 10, 100))
+ assert_raises_message(
+ sa_exc.InvalidRequestError,
+ r"Incorrect number of values in identifier to formulate "
+ r"primary key for session.get\(\); ",
+ s.get,
+ CompositePk,
+ (7, 10, 100),
+ )
def test_get_against_col(self):
User = self.classes.User
s = fixture_session()
- q = s.query(User.id)
- assert_raises(sa_exc.InvalidRequestError, q.get, (5,))
+ assert_raises_message(
+ sa_exc.ArgumentError,
+ r"Expected mapped class or mapper, got: .*Instrumented",
+ s.get,
+ User.id,
+ (5,),
+ )
@testing.fixture
def outerjoin_mapping(self, registry):
@@ -1302,19 +1307,19 @@ class GetTest(QueryTest):
UserThing = outerjoin_mapping
sess = fixture_session()
- u10 = sess.query(UserThing).get((10, None))
+ u10 = sess.get(UserThing, (10, None))
eq_(u10, UserThing(id=10))
def test_get_fully_null_pk(self):
User = self.classes.User
s = fixture_session()
- q = s.query(User)
assert_raises_message(
sa_exc.SAWarning,
r"fully NULL primary key identity cannot load any object. "
"This condition may raise an error in a future release.",
- q.get,
+ s.get,
+ User,
None,
)
@@ -1322,48 +1327,16 @@ class GetTest(QueryTest):
UserThing = outerjoin_mapping
s = fixture_session()
- q = s.query(UserThing)
assert_raises_message(
sa_exc.SAWarning,
r"fully NULL primary key identity cannot load any object. "
"This condition may raise an error in a future release.",
- q.get,
+ s.get,
+ UserThing,
(None, None),
)
- def test_no_criterion(self):
- """test that get()/load() does not use preexisting filter/etc.
- criterion"""
-
- User, Address = self.classes.User, self.classes.Address
-
- s = fixture_session()
-
- q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
- assert_raises(sa_exc.InvalidRequestError, q.get, 7)
- assert_raises(
- sa_exc.InvalidRequestError,
- s.query(User).filter(User.id == 7).get,
- 19,
- )
-
- # order_by()/get() doesn't raise
- s.query(User).order_by(User.id).get(8)
-
- def test_no_criterion_when_already_loaded(self):
- """test that get()/load() does not use preexisting filter/etc.
- criterion, even when we're only using the identity map."""
-
- User, Address = self.classes.User, self.classes.Address
-
- s = fixture_session()
-
- s.query(User).get(7)
-
- q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
- assert_raises(sa_exc.InvalidRequestError, q.get, 7)
-
def test_unique_param_names(self):
users = self.tables.users
@@ -1375,20 +1348,20 @@ class GetTest(QueryTest):
assert s.primary_key == m.primary_key
sess = fixture_session()
- assert sess.query(SomeUser).get(7).name == "jack"
+ assert sess.get(SomeUser, 7).name == "jack"
def test_load(self):
User, Address = self.classes.User, self.classes.Address
s = fixture_session(autoflush=False)
- assert s.query(User).populate_existing().get(19) is None
+ assert s.get(User, 19, populate_existing=True) is None
- u = s.query(User).populate_existing().get(7)
- u2 = s.query(User).populate_existing().get(7)
+ u = s.get(User, 7, populate_existing=True)
+ u2 = s.get(User, 7, populate_existing=True)
assert u is u2
s.expunge_all()
- u2 = s.query(User).populate_existing().get(7)
+ u2 = s.get(User, 7, populate_existing=True)
assert u is not u2
u2.name = "some name"
@@ -1397,7 +1370,7 @@ class GetTest(QueryTest):
assert u2 in s.dirty
assert a in u2.addresses
- s.query(User).populate_existing().get(7)
+ s.get(User, 7, populate_existing=True)
assert u2 not in s.dirty
assert u2.name == "jack"
@@ -1426,114 +1399,6 @@ class GetTest(QueryTest):
LocalFoo(id=ustring, data=ustring),
)
- def test_populate_existing(self):
- User, Address = self.classes.User, self.classes.Address
- Order = self.classes.Order
-
- s = fixture_session(autoflush=False)
-
- userlist = s.query(User).all()
-
- u = userlist[0]
- u.name = "foo"
- a = Address(name="ed")
- u.addresses.append(a)
-
- self.assert_(a in u.addresses)
-
- s.query(User).populate_existing().all()
-
- self.assert_(u not in s.dirty)
-
- self.assert_(u.name == "jack")
-
- self.assert_(a not in u.addresses)
-
- u.addresses[0].email_address = "lala"
- u.orders[1].items[2].description = "item 12"
- # test that lazy load doesn't change child items
- s.query(User).populate_existing().all()
- assert u.addresses[0].email_address == "lala"
- assert u.orders[1].items[2].description == "item 12"
-
- # eager load does
- s.query(User).options(
- joinedload(User.addresses),
- joinedload(User.orders).joinedload(Order.items),
- ).populate_existing().all()
- assert u.addresses[0].email_address == "jack@bean.com"
- assert u.orders[1].items[2].description == "item 5"
-
- def test_populate_existing_future(self):
- User, Address = self.classes.User, self.classes.Address
- Order = self.classes.Order
-
- s = fixture_session(autoflush=False)
-
- userlist = s.query(User).all()
-
- u = userlist[0]
- u.name = "foo"
- a = Address(name="ed")
- u.addresses.append(a)
-
- self.assert_(a in u.addresses)
-
- stmt = select(User).execution_options(populate_existing=True)
-
- s.execute(
- stmt,
- ).scalars().all()
-
- self.assert_(u not in s.dirty)
-
- self.assert_(u.name == "jack")
-
- self.assert_(a not in u.addresses)
-
- u.addresses[0].email_address = "lala"
- u.orders[1].items[2].description = "item 12"
- # test that lazy load doesn't change child items
- s.query(User).populate_existing().all()
- assert u.addresses[0].email_address == "lala"
- assert u.orders[1].items[2].description == "item 12"
-
- # eager load does
-
- stmt = (
- select(User)
- .options(
- joinedload(User.addresses),
- joinedload(User.orders).joinedload(Order.items),
- )
- .execution_options(populate_existing=True)
- )
-
- s.execute(stmt).unique().scalars().all()
-
- assert u.addresses[0].email_address == "jack@bean.com"
- assert u.orders[1].items[2].description == "item 5"
-
- def test_option_transfer_future(self):
- User = self.classes.User
- stmt = select(User).execution_options(
- populate_existing=True, autoflush=False, yield_per=10
- )
- s = fixture_session()
-
- m1 = mock.Mock()
-
- event.listen(s, "do_orm_execute", m1)
-
- s.execute(stmt)
-
- eq_(
- m1.mock_calls[0][1][0].load_options,
- QueryContext.default_load_options(
- _autoflush=False, _populate_existing=True, _yield_per=10
- ),
- )
-
class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
@testing.combinations(
@@ -1655,14 +1520,6 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
)
assert_raises(sa_exc.InvalidRequestError, q.with_polymorphic, User)
- def test_only_full_mapper_zero(self):
- User, Address = self.classes.User, self.classes.Address
-
- s = fixture_session()
-
- q = s.query(User, Address)
- assert_raises(sa_exc.InvalidRequestError, q.get, 5)
-
def test_entity_or_mapper_zero_from_context(self):
User, Address = self.classes.User, self.classes.Address
s = fixture_session()
@@ -3283,7 +3140,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- address = sess.query(Address).get(3)
+ address = sess.get(Address, 3)
assert [User(id=8)] == sess.query(User).filter(
User.addresses.contains(address)
).all()
@@ -3436,7 +3293,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
Address.id
).all()
- dingaling = sess.query(Dingaling).get(2)
+ dingaling = sess.get(Dingaling, 2)
assert [User(id=9)] == sess.query(User).filter(
User.addresses.any(Address.dingaling == dingaling)
).all()
@@ -3445,7 +3302,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
Item, Order = self.classes.Item, self.classes.Order
sess = fixture_session()
- item = sess.query(Item).get(3)
+ item = sess.get(Item, 3)
eq_(
sess.query(Order)
@@ -3462,7 +3319,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
[Order(id=4), Order(id=5)],
)
- item2 = sess.query(Item).get(5)
+ item2 = sess.get(Item, 5)
eq_(
sess.query(Order)
.filter(Order.items.contains(item))
@@ -3522,7 +3379,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
)
sess = fixture_session()
- user = sess.query(User).get(8)
+ user = sess.get(User, 8)
assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(
Address
).filter(Address.user == user).all()
@@ -3542,7 +3399,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
).all() # noqa
# o2o
- dingaling = sess.query(Dingaling).get(2)
+ dingaling = sess.get(Dingaling, 2)
assert [Address(id=5)] == sess.query(Address).filter(
Address.dingaling == dingaling
).all()
@@ -3567,7 +3424,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- user = sess.query(User).get(8)
+ user = sess.get(User, 8)
assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(
Address
).filter_by(user=user).all()
@@ -6440,7 +6297,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
q = (
sess.query(Address)
.select_from(Address)
@@ -6459,7 +6316,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
q = sess.query(User, Address).filter(
with_parent(u1, User.addresses, from_entity=Address)
)
@@ -6478,7 +6335,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
q = sess.query(a1).filter(with_parent(u1, User.addresses.of_type(a1)))
self.assert_compile(
@@ -6495,7 +6352,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
a2 = aliased(Address)
q = sess.query(a1, a2).filter(
@@ -6518,7 +6375,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
User, Address = self.classes.User, self.classes.Address
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
a1 = aliased(Address)
a2 = aliased(Address)
q = sess.query(a1, a2).filter(
@@ -7335,6 +7192,114 @@ class ImmediateTest(_fixtures.FixtureTest):
class ExecutionOptionsTest(QueryTest):
+ def test_populate_existing(self):
+ User, Address = self.classes.User, self.classes.Address
+ Order = self.classes.Order
+
+ s = fixture_session(autoflush=False)
+
+ userlist = s.query(User).all()
+
+ u = userlist[0]
+ u.name = "foo"
+ a = Address(name="ed")
+ u.addresses.append(a)
+
+ self.assert_(a in u.addresses)
+
+ s.query(User).populate_existing().all()
+
+ self.assert_(u not in s.dirty)
+
+ self.assert_(u.name == "jack")
+
+ self.assert_(a not in u.addresses)
+
+ u.addresses[0].email_address = "lala"
+ u.orders[1].items[2].description = "item 12"
+ # test that lazy load doesn't change child items
+ s.query(User).populate_existing().all()
+ assert u.addresses[0].email_address == "lala"
+ assert u.orders[1].items[2].description == "item 12"
+
+ # eager load does
+ s.query(User).options(
+ joinedload(User.addresses),
+ joinedload(User.orders).joinedload(Order.items),
+ ).populate_existing().all()
+ assert u.addresses[0].email_address == "jack@bean.com"
+ assert u.orders[1].items[2].description == "item 5"
+
+ def test_populate_existing_future(self):
+ User, Address = self.classes.User, self.classes.Address
+ Order = self.classes.Order
+
+ s = fixture_session(autoflush=False)
+
+ userlist = s.query(User).all()
+
+ u = userlist[0]
+ u.name = "foo"
+ a = Address(name="ed")
+ u.addresses.append(a)
+
+ self.assert_(a in u.addresses)
+
+ stmt = select(User).execution_options(populate_existing=True)
+
+ s.execute(
+ stmt,
+ ).scalars().all()
+
+ self.assert_(u not in s.dirty)
+
+ self.assert_(u.name == "jack")
+
+ self.assert_(a not in u.addresses)
+
+ u.addresses[0].email_address = "lala"
+ u.orders[1].items[2].description = "item 12"
+ # test that lazy load doesn't change child items
+ s.query(User).populate_existing().all()
+ assert u.addresses[0].email_address == "lala"
+ assert u.orders[1].items[2].description == "item 12"
+
+ # eager load does
+
+ stmt = (
+ select(User)
+ .options(
+ joinedload(User.addresses),
+ joinedload(User.orders).joinedload(Order.items),
+ )
+ .execution_options(populate_existing=True)
+ )
+
+ s.execute(stmt).unique().scalars().all()
+
+ assert u.addresses[0].email_address == "jack@bean.com"
+ assert u.orders[1].items[2].description == "item 5"
+
+ def test_option_transfer_future(self):
+ User = self.classes.User
+ stmt = select(User).execution_options(
+ populate_existing=True, autoflush=False, yield_per=10
+ )
+ s = fixture_session()
+
+ m1 = mock.Mock()
+
+ event.listen(s, "do_orm_execute", m1)
+
+ s.execute(stmt)
+
+ eq_(
+ m1.mock_calls[0][1][0].load_options,
+ QueryContext.default_load_options(
+ _autoflush=False, _populate_existing=True, _yield_per=10
+ ),
+ )
+
def test_option_building(self):
User = self.classes.User
@@ -7682,9 +7647,9 @@ class QueryClsTest(QueryTest):
s = fixture_session(query_cls=fixture())
- assert s.query(User).get(19) is None
- u = s.query(User).get(7)
- u2 = s.query(User).get(7)
+ assert s.get(User, 19) is None
+ u = s.get(User, 7)
+ u2 = s.get(User, 7)
assert u is u2
def _test_o2m_lazyload(self, fixture):
diff --git a/test/orm/test_relationships.py b/test/orm/test_relationships.py
index 2d3a6309b..94b30f3d0 100644
--- a/test/orm/test_relationships.py
+++ b/test/orm/test_relationships.py
@@ -3222,7 +3222,7 @@ class ViewOnlyOverlappingNames(fixtures.MappedTest):
sess.flush()
sess.expunge_all()
- c1 = sess.query(C1).get(c1.id)
+ c1 = sess.get(C1, c1.id)
assert set([x.id for x in c1.t2s]) == set([c2a.id, c2b.id])
assert set([x.id for x in c1.t2_view]) == set([c2b.id])
@@ -3486,7 +3486,7 @@ class ViewOnlyUniqueNames(fixtures.MappedTest):
sess.flush()
sess.expunge_all()
- c1 = sess.query(C1).get(c1.t1id)
+ c1 = sess.get(C1, c1.t1id)
assert set([x.t2id for x in c1.t2s]) == set([c2a.t2id, c2b.t2id])
assert set([x.t2id for x in c1.t2_view]) == set([c2b.t2id])
diff --git a/test/orm/test_selectin_relations.py b/test/orm/test_selectin_relations.py
index e3d852e68..f01060aab 100644
--- a/test/orm/test_selectin_relations.py
+++ b/test/orm/test_selectin_relations.py
@@ -221,15 +221,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
sess = fixture_session()
- q = sess.query(User).options(selectinload(User.addresses))
-
def go():
eq_(
User(
id=7,
addresses=[Address(id=1, email_address="jack@bean.com")],
),
- q.get(7),
+ sess.get(User, 7, options=[selectinload(User.addresses)]),
)
self.assert_sql_count(testing.db, go, 2)
@@ -1253,7 +1251,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def go():
a = q.filter(addresses.c.id == 1).one()
is_not(a.user, None)
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
is_(a.user, u1)
self.assert_sql_count(testing.db, go, 2)
@@ -1502,7 +1500,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_runs_query_on_refresh(self):
User, Address, sess = self._eager_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
assert "addresses" in u1.__dict__
sess.expire(u1)
@@ -1540,7 +1538,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_no_query_on_deferred(self):
User, Address, sess = self._deferred_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
assert "addresses" in u1.__dict__
sess.expire(u1, ["addresses"])
@@ -1552,7 +1550,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_populate_existing_propagate(self):
User, Address, sess = self._eager_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
u1.addresses[2].email_address = "foofoo"
del u1.addresses[1]
u1 = sess.query(User).populate_existing().filter_by(id=8).one()
@@ -1565,7 +1563,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_loads_second_level_collection_to_scalar(self):
User, Address, Dingaling, sess = self._collection_to_scalar_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
a1 = Address()
u1.addresses.append(a1)
a2 = u1.addresses[0]
@@ -1585,7 +1583,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_loads_second_level_collection_to_collection(self):
User, Order, Item, sess = self._collection_to_collection_fixture()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
u1.orders
o1 = Order()
u1.orders.append(o1)
diff --git a/test/orm/test_session.py b/test/orm/test_session.py
index bd1f9545a..d6e9df6cd 100644
--- a/test/orm/test_session.py
+++ b/test/orm/test_session.py
@@ -846,7 +846,7 @@ class SessionStateTest(_fixtures.FixtureTest):
s2.delete,
user,
)
- u2 = s2.query(User).get(user.id)
+ u2 = s2.get(User, user.id)
s2.expunge(u2)
assert_raises_message(
sa.exc.InvalidRequestError,
@@ -986,7 +986,7 @@ class SessionStateTest(_fixtures.FixtureTest):
assert u1 not in sess
assert Session.object_session(u1) is None
- u2 = sess.query(User).get(u1.id)
+ u2 = sess.get(User, u1.id)
assert u2 is not None and u2 is not u1
assert u2 in sess
@@ -1014,7 +1014,7 @@ class SessionStateTest(_fixtures.FixtureTest):
sess.expunge_all()
- u3 = sess.query(User).get(u1.id)
+ u3 = sess.get(User, u1.id)
assert u3 is not u1 and u3 is not u2 and u3.name == u1.name
def test_no_double_save(self):
@@ -1216,7 +1216,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
sess.commit()
sess.close()
- u = sess.query(User).get(u.id)
+ u = sess.get(User, u.id)
q = sess.query(Address).filter(Address.user == u)
del u
gc_collect()
@@ -1364,7 +1364,7 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest):
)
sess = fixture_session(autocommit=False, autoflush=True)
- u = sess.query(User).get(8)
+ u = sess.get(User, 8)
newad = Address(email_address="a new address")
u.addresses.append(newad)
u.name = "some new name"
diff --git a/test/orm/test_subquery_relations.py b/test/orm/test_subquery_relations.py
index 25ebb9ebe..3b09d8eb1 100644
--- a/test/orm/test_subquery_relations.py
+++ b/test/orm/test_subquery_relations.py
@@ -313,15 +313,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
)
sess = fixture_session()
- q = sess.query(User).options(subqueryload(User.addresses))
-
def go():
eq_(
User(
id=7,
addresses=[Address(id=1, email_address="jack@bean.com")],
),
- q.get(7),
+ sess.get(User, 7, options=[subqueryload(User.addresses)]),
)
self.assert_sql_count(testing.db, go, 2)
@@ -1363,7 +1361,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
def go():
a = q.filter(addresses.c.id == 1).one()
is_not(a.user, None)
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
is_(a.user, u1)
self.assert_sql_count(testing.db, go, 2)
@@ -1530,7 +1528,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_runs_query_on_refresh(self):
User, Address, sess = self._eager_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
assert "addresses" in u1.__dict__
sess.expire(u1)
@@ -1568,7 +1566,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_no_query_on_deferred(self):
User, Address, sess = self._deferred_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
assert "addresses" in u1.__dict__
sess.expire(u1, ["addresses"])
@@ -1580,7 +1578,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_populate_existing_propagate(self):
User, Address, sess = self._eager_config_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
u1.addresses[2].email_address = "foofoo"
del u1.addresses[1]
u1 = sess.query(User).populate_existing().filter_by(id=8).one()
@@ -1593,7 +1591,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_loads_second_level_collection_to_scalar(self):
User, Address, Dingaling, sess = self._collection_to_scalar_fixture()
- u1 = sess.query(User).get(8)
+ u1 = sess.get(User, 8)
a1 = Address()
u1.addresses.append(a1)
a2 = u1.addresses[0]
@@ -1613,7 +1611,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
def test_loads_second_level_collection_to_collection(self):
User, Order, Item, sess = self._collection_to_collection_fixture()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
u1.orders
o1 = Order()
u1.orders.append(o1)
diff --git a/test/orm/test_transaction.py b/test/orm/test_transaction.py
index 1c8fef5cb..b2e8bff79 100644
--- a/test/orm/test_transaction.py
+++ b/test/orm/test_transaction.py
@@ -1341,7 +1341,7 @@ class FixtureDataTest(_LocalFixture):
def test_attrs_on_rollback(self):
User = self.classes.User
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
u1.name = "ed"
sess.rollback()
eq_(u1.name, "jack")
@@ -1349,7 +1349,7 @@ class FixtureDataTest(_LocalFixture):
def test_commit_persistent(self):
User = self.classes.User
sess = fixture_session()
- u1 = sess.query(User).get(7)
+ u1 = sess.get(User, 7)
u1.name = "ed"
sess.flush()
sess.commit()
@@ -1358,12 +1358,12 @@ class FixtureDataTest(_LocalFixture):
def test_concurrent_commit_persistent(self):
User = self.classes.User
s1 = fixture_session()
- u1 = s1.query(User).get(7)
+ u1 = s1.get(User, 7)
u1.name = "ed"
s1.commit()
s2 = fixture_session()
- u2 = s2.query(User).get(7)
+ u2 = s2.get(User, 7)
assert u2.name == "ed"
u2.name = "will"
s2.commit()
@@ -2745,7 +2745,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
s.flush()
s.execute(users.insert().values(name="u1"))
- u2 = s.query(User).get("u1")
+ u2 = s.get(User, "u1")
assert u1 not in s
s.rollback()
diff --git a/test/orm/test_unitofwork.py b/test/orm/test_unitofwork.py
index 01cb9dcc4..7b7cb0db6 100644
--- a/test/orm/test_unitofwork.py
+++ b/test/orm/test_unitofwork.py
@@ -371,7 +371,7 @@ class PKTest(fixtures.MappedTest):
session.flush()
session.expunge_all()
- e2 = session.query(Entry).get((e.multi_id, 2))
+ e2 = session.get(Entry, (e.multi_id, 2))
self.assert_(e is not e2)
state = sa.orm.attributes.instance_state(e)
state2 = sa.orm.attributes.instance_state(e2)
@@ -573,7 +573,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
self.sql_count_(1, go)
session.expunge_all()
- u = session.query(User).get(u.id)
+ u = session.get(User, u.id)
eq_(u.name, "test2")
eq_(u.counter, 2)
@@ -723,7 +723,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
conn.scalar(select(func.count("*")).select_from(myothertable)),
4,
)
- mc = session.query(MyClass).get(mc.id)
+ mc = session.get(MyClass, mc.id)
session.delete(mc)
session.flush()
@@ -905,7 +905,7 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
conn.scalar(select(func.count("*")).select_from(myothertable)),
4,
)
- mc = session.query(MyClass).get(mc.id)
+ mc = session.get(MyClass, mc.id)
session.delete(mc)
assert_raises(sa.exc.DBAPIError, session.flush)
@@ -941,7 +941,7 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
1,
)
- mc = session.query(MyClass).get(mc.id)
+ mc = session.get(MyClass, mc.id)
session.delete(mc)
mc.children[0].data = "some new data"
assert_raises(sa.exc.DBAPIError, session.flush)
@@ -1298,17 +1298,17 @@ class DefaultTest(fixtures.MappedTest):
session.expunge_all()
eq_(
- session.query(Hoho).get(h1.id),
+ session.get(Hoho, h1.id),
Hoho(hoho=hohoval, secondaries=[Secondary(data="s1")]),
)
- h1 = session.query(Hoho).get(h1.id)
+ h1 = session.get(Hoho, h1.id)
h1.secondaries.append(Secondary(data="s2"))
session.flush()
session.expunge_all()
eq_(
- session.query(Hoho).get(h1.id),
+ session.get(Hoho, h1.id),
Hoho(
hoho=hohoval,
secondaries=[Secondary(data="s1"), Secondary(data="s2")],
@@ -1669,7 +1669,7 @@ class OneToManyTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- u2 = session.query(User).get(u2.id)
+ u2 = session.get(User, u2.id)
eq_(len(u2.addresses), 1)
def test_child_move_2(self):
@@ -1706,7 +1706,7 @@ class OneToManyTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- u2 = session.query(User).get(u2.id)
+ u2 = session.get(User, u2.id)
eq_(len(u2.addresses), 1)
def test_o2m_delete_parent(self):
@@ -1866,14 +1866,14 @@ class SaveTest(_fixtures.FixtureTest):
session.flush()
# assert the first one retrieves the same from the identity map
- nu = session.query(m).get(u.id)
+ nu = session.get(m, u.id)
assert u is nu
# clear out the identity map, so next get forces a SELECT
session.expunge_all()
# check it again, identity should be different but ids the same
- nu = session.query(m).get(u.id)
+ nu = session.get(m, u.id)
assert u is not nu and u.id == nu.id and nu.name == "savetester"
session.commit()
@@ -2075,7 +2075,7 @@ class SaveTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- u = session.query(User).get(u.id)
+ u = session.get(User, u.id)
u.name = ""
self.sql_count_(0, session.flush)
@@ -2113,7 +2113,7 @@ class SaveTest(_fixtures.FixtureTest):
id_ = m.primary_key_from_instance(u)
- u = session.query(User).get(id_)
+ u = session.get(User, id_)
assert u.name == "multitester"
conn = session.connection()
@@ -2140,7 +2140,7 @@ class SaveTest(_fixtures.FixtureTest):
eq_(list(address_rows[0]), [u.id, u.foo_id, "lala@hey.com"])
session.expunge_all()
- u = session.query(User).get(id_)
+ u = session.get(User, id_)
assert u.name == "imnew"
def test_history_get(self):
@@ -2172,7 +2172,7 @@ class SaveTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- u = session.query(User).get(u.id)
+ u = session.get(User, u.id)
session.delete(u)
session.flush()
eq_(
@@ -2355,15 +2355,15 @@ class ManyToOneTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
- u1 = session.query(User).get(u1.id)
+ a1 = session.get(Address, a1.id)
+ u1 = session.get(User, u1.id)
assert a1.user is u1
a1.user = None
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
- u1 = session.query(User).get(u1.id)
+ a1 = session.get(Address, a1.id)
+ u1 = session.get(User, u1.id)
assert a1.user is None
def test_many_to_one_2(self):
@@ -2395,9 +2395,9 @@ class ManyToOneTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
- a2 = session.query(Address).get(a2.id)
- u1 = session.query(User).get(u1.id)
+ a1 = session.get(Address, a1.id)
+ a2 = session.get(Address, a2.id)
+ u1 = session.get(User, u1.id)
assert a1.user is u1
a1.user = None
@@ -2405,9 +2405,9 @@ class ManyToOneTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
- a2 = session.query(Address).get(a2.id)
- u1 = session.query(User).get(u1.id)
+ a1 = session.get(Address, a1.id)
+ a2 = session.get(Address, a2.id)
+ u1 = session.get(User, u1.id)
assert a1.user is None
assert a2.user is u1
@@ -2440,17 +2440,17 @@ class ManyToOneTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
- u1 = session.query(User).get(u1.id)
- u2 = session.query(User).get(u2.id)
+ a1 = session.get(Address, a1.id)
+ u1 = session.get(User, u1.id)
+ u2 = session.get(User, u2.id)
assert a1.user is u1
a1.user = u2
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
- u1 = session.query(User).get(u1.id)
- u2 = session.query(User).get(u2.id)
+ a1 = session.get(Address, a1.id)
+ u1 = session.get(User, u1.id)
+ u2 = session.get(User, u2.id)
assert a1.user is u2
def test_bidirectional_no_load(self):
@@ -2482,13 +2482,13 @@ class ManyToOneTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- a1 = session.query(Address).get(a1.id)
+ a1 = session.get(Address, a1.id)
a1.user = None
session.flush()
session.expunge_all()
- assert session.query(Address).get(a1.id).user is None
- assert session.query(User).get(u1.id).addresses == []
+ assert session.get(Address, a1.id).user is None
+ assert session.get(User, u1.id).addresses == []
class ManyToManyTest(_fixtures.FixtureTest):
@@ -2751,7 +2751,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
session.flush()
session.expunge_all()
- item = session.query(Item).get(item.id)
+ item = session.get(Item, item.id)
eq_(item.keywords, [k1, k2])
def test_association(self):
@@ -3059,7 +3059,7 @@ class BooleanColTest(fixtures.MappedTest):
[T(value=False, name="t2")],
)
- t2 = sess.query(T).get(t2.id)
+ t2 = sess.get(T, t2.id)
t2.value = True
sess.flush()
eq_(
diff --git a/test/orm/test_unitofworkv2.py b/test/orm/test_unitofworkv2.py
index 71f460998..af38a4bab 100644
--- a/test/orm/test_unitofworkv2.py
+++ b/test/orm/test_unitofworkv2.py
@@ -2201,7 +2201,7 @@ class LoadersUsingCommittedTest(UOWTest):
sess.expunge_all()
# lookup an address and move it to the other user
- a1 = sess.query(Address).get(a1.id)
+ a1 = sess.get(Address, a1.id)
# move address to another user's fk
assert a1.user_id == u1.id
@@ -2270,7 +2270,7 @@ class LoadersUsingCommittedTest(UOWTest):
sess.commit()
sess.expunge_all()
- u1 = sess.query(User).get(u1.id)
+ u1 = sess.get(User, u1.id)
u1.id = 2
try:
sess.flush()
diff --git a/test/orm/test_update_delete.py b/test/orm/test_update_delete.py
index a58286286..21863c57a 100644
--- a/test/orm/test_update_delete.py
+++ b/test/orm/test_update_delete.py
@@ -200,7 +200,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
return User.name.__clause_element__()
s = fixture_session()
- jill = s.query(User).get(3)
+ jill = s.get(User, 3)
s.query(User).update(
{Thing(): "moonbeam"}, synchronize_session="evaluate"
)
@@ -227,7 +227,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
User = self.classes.User
s = fixture_session()
- jill = s.query(User).get(3)
+ jill = s.get(User, 3)
s.query(User).update(
{column("name"): "moonbeam"}, synchronize_session="evaluate"
)
@@ -244,7 +244,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
)
s = fixture_session()
- jill = s.query(Foo).get(3)
+ jill = s.get(Foo, 3)
s.query(Foo).update(
{"uname": "moonbeam"}, synchronize_session="evaluate"
)
@@ -259,7 +259,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
)
s = fixture_session()
- jill = s.query(Foo).get(3)
+ jill = s.get(Foo, 3)
s.query(Foo).update(
{Foo.uname: "moonbeam"}, synchronize_session="evaluate"
)
@@ -276,7 +276,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
)
s = fixture_session()
- jill = s.query(Foo).get(3)
+ jill = s.get(Foo, 3)
s.query(Foo).update(
{Foo.ufoo: "moonbeam"}, synchronize_session="evaluate"
)
diff --git a/test/orm/test_versioning.py b/test/orm/test_versioning.py
index c995f9771..45fad9ab7 100644
--- a/test/orm/test_versioning.py
+++ b/test/orm/test_versioning.py
@@ -213,7 +213,7 @@ class VersioningTest(fixtures.MappedTest):
s1.commit()
s2 = fixture_session(autocommit=False)
- f1_s = s2.query(Foo).get(f1.id)
+ f1_s = s2.get(Foo, f1.id)
f1_s.value = "f1rev3"
with conditional_sane_rowcount_warnings(
update=True, only_returning=True
@@ -239,8 +239,8 @@ class VersioningTest(fixtures.MappedTest):
s1.commit()
# new in 0.5 ! don't need to close the session
- f1 = s1.query(Foo).get(f1.id)
- f2 = s1.query(Foo).get(f2.id)
+ f1 = s1.get(Foo, f1.id)
+ f2 = s1.get(Foo, f2.id)
f1_s.value = "f1rev4"
with conditional_sane_rowcount_warnings(
@@ -373,7 +373,7 @@ class VersioningTest(fixtures.MappedTest):
s1.commit()
s2 = fixture_session(autocommit=False)
- f1s2 = s2.query(Foo).get(f1s1.id)
+ f1s2 = s2.get(Foo, f1s1.id)
f1s2.value = "f1 new value"
with conditional_sane_rowcount_warnings(
update=True, only_returning=True
@@ -385,19 +385,21 @@ class VersioningTest(fixtures.MappedTest):
sa.orm.exc.StaleDataError,
r"Instance .* has version id '\d+' which does not "
r"match database-loaded version id '\d+'",
- s1.query(Foo).with_for_update(read=True).get,
+ s1.get,
+ Foo,
f1s1.id,
+ with_for_update=dict(read=True),
)
# reload it - this expires the old version first
s1.refresh(f1s1, with_for_update={"read": True})
# now assert version OK
- s1.query(Foo).with_for_update(read=True).get(f1s1.id)
+ s1.get(Foo, f1s1.id, with_for_update=dict(read=True))
# assert brand new load is OK too
s1.close()
- s1.query(Foo).with_for_update(read=True).get(f1s1.id)
+ s1.get(Foo, f1s1.id, with_for_update=dict(read=True))
def test_versioncheck_not_versioned(self):
"""ensure the versioncheck logic skips if there isn't a
@@ -411,7 +413,7 @@ class VersioningTest(fixtures.MappedTest):
f1s1 = Foo(value="f1 value", version_id=1)
s1.add(f1s1)
s1.commit()
- s1.query(Foo).with_for_update(read=True).get(f1s1.id)
+ s1.query(Foo).with_for_update(read=True).where(Foo.id == f1s1.id).one()
@engines.close_open_connections
@testing.requires.update_nowait
@@ -427,7 +429,7 @@ class VersioningTest(fixtures.MappedTest):
s1.commit()
s2 = fixture_session(autocommit=False)
- f1s2 = s2.query(Foo).get(f1s1.id)
+ f1s2 = s2.get(Foo, f1s1.id)
# not sure if I like this API
s2.refresh(f1s2, with_for_update=True)
f1s2.value = "f1 new value"
@@ -510,7 +512,12 @@ class VersioningTest(fixtures.MappedTest):
s1.commit()
s2 = fixture_session(autocommit=False)
- f1s2 = s2.query(Foo).with_for_update(read=True).get(f1s1.id)
+ f1s2 = (
+ s2.query(Foo)
+ .with_for_update(read=True)
+ .where(Foo.id == f1s1.id)
+ .one()
+ )
assert f1s2.id == f1s1.id
assert f1s2.value == f1s1.value