assert sess.query(func.min(foo.c.bar)).filter(foo.c.bar<30).one() == (0,)
assert sess.query(func.max(foo.c.bar)).filter(foo.c.bar<30).one() == (29,)
+ # Py3K
+ #assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).__next__()[0] == 29
+ #assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).__next__()[0] == 29
+ # Py2K
assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).next()[0] == 29
assert query.filter(foo.c.bar<30).values(sa.func.max(foo.c.bar)).next()[0] == 29
-
+ # end Py2K
+
@testing.resolve_artifact_names
def test_aggregate_1(self):
if (testing.against('mysql') and
def test_aggregate_3(self):
query = create_session().query(Foo)
+ # Py3K
+ #avg_f = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).__next__()[0]
+ # Py2K
avg_f = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).next()[0]
+ # end Py2K
assert round(avg_f, 1) == 14.5
+ # Py3K
+ #avg_o = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).__next__()[0]
+ # Py2K
avg_o = query.filter(foo.c.bar<30).values(sa.func.avg(foo.c.bar)).next()[0]
+ # end Py2K
assert round(avg_o, 1) == 14.5
@testing.resolve_artifact_names
polymorphic_on=table1.c.type,
polymorphic_identity='table1',
properties={
- 'next': relation(Table1,
+ 'nxt': relation(Table1,
backref=backref('prev', foreignkey=join.c.id, uselist=False),
uselist=False, primaryjoin=join.c.id==join.c.related_id),
'data':relation(mapper(Data, data))
# currently, the "eager" relationships degrade to lazy relationships
# due to the polymorphic load.
- # the "next" relation used to have a "lazy=False" on it, but the EagerLoader raises the "self-referential"
+ # the "nxt" relation used to have a "lazy=False" on it, but the EagerLoader raises the "self-referential"
# exception now. since eager loading would never work for that relation anyway, its better that the user
# gets an exception instead of it silently not eager loading.
+ # NOTE: using "nxt" instead of "next" to avoid 2to3 turning it into __next__() for some reason.
table1_mapper = mapper(Table1, table1,
#select_table=join,
polymorphic_on=table1.c.type,
polymorphic_identity='table1',
properties={
- 'next': relation(Table1,
+ 'nxt': relation(Table1,
backref=backref('prev', remote_side=table1.c.id, uselist=False),
uselist=False, primaryjoin=table1.c.id==table1.c.related_id),
'data':relation(mapper(Data, data), lazy=False, order_by=data.c.id)
else:
newobj = c
if obj is not None:
- obj.next = newobj
+ obj.nxt = newobj
else:
t = newobj
obj = newobj
node = t
while (node):
assertlist.append(node)
- n = node.next
+ n = node.nxt
if n is not None:
assert n.prev is node
node = n
assertlist = []
while (node):
assertlist.append(node)
- n = node.next
+ n = node.nxt
if n is not None:
assert n.prev is node
node = n
assertlist.insert(0, node)
n = node.prev
if n is not None:
- assert n.next is node
+ assert n.nxt is node
node = n
backwards = repr(assertlist)