Skip to content

Commit 55201c9

Browse files
committed
test expire session
1 parent 3dba093 commit 55201c9

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

sqlalchemy_mptt/events.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -406,10 +406,8 @@ def after_flush_postexec(self, session, context):
406406
parent = self.get_parent_value(instance)
407407
while parent != NO_VALUE and parent is not None:
408408
self.instances.discard(parent)
409-
session.expire(parent, ['left', 'right'])
409+
session.expire(parent, ['left', 'right', 'tree_id'])
410410
parent = self.get_parent_value(parent)
411-
else:
412-
session.expire(instance, ['tree_id', ])
413411

414412
@staticmethod
415413
def get_parent_value(instance):

sqlalchemy_mptt/tests/tree_testing_base.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from sqlalchemy import create_engine
1111
from sqlalchemy.orm import sessionmaker
12+
1213
from sqlalchemy_mptt import mptt_sessionmaker
1314

1415

@@ -1719,13 +1720,13 @@ def test_leftsibling_in_level(self):
17191720
def test_session_expire_for_move_after_to_new_tree(self):
17201721
"""https://github.com/ITCase/sqlalchemy_mptt/issues/33"""
17211722
node = self.session.query(self.model).filter(self.model.ppk == 4).one()
1723+
children = self.session.query(self.model)\
1724+
.filter(self.model.ppk.in_((5, 6))).all()
17221725
node.move_after('1')
17231726
self.session.flush()
1727+
17241728
self.assertEqual(node.tree_id, 2)
17251729
self.assertEqual(node.parent_id, None)
1726-
1727-
children = self.session.query(self.model)\
1728-
.filter(self.model.ppk.in_((5, 6))).all()
17291730
self.assertEqual(children[0].tree_id, 2)
17301731
self.assertEqual(children[1].tree_id, 2)
17311732
self.assertEqual(children[0].parent_id, 4)

0 commit comments

Comments
 (0)