Skip to content

Commit adb1841

Browse files
committed
Hello 0.1.4 version!
1 parent 3c9a43c commit adb1841

File tree

5 files changed

+64
-3
lines changed

5 files changed

+64
-3
lines changed

CHANGES.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
0.1.4 (2015-06-19)
2+
==================
3+
4+
- delete method ``get_pk_with_class_name``
5+
6+
Bug Fixes
7+
---------
8+
9+
- fix ``_get_tree_table`` function for inheritance models
10+
111
0.1.3 (2015-06-17)
212
==================
313

sqlalchemy_mptt/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from .mixins import BaseNestedSets
1111
from .events import TreesManager
1212

13-
__version__ = "0.1.4.dev1"
13+
__version__ = "0.1.4"
1414
__mixins__ = [BaseNestedSets]
1515
__all__ = ['BaseNestedSets', 'mptt_sessionmaker']
1616

sqlalchemy_mptt/events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def _insert_subtree(table, connection, node_size,
5757

5858
def _get_tree_table(mapper):
5959
for table in mapper.tables:
60-
if all(key in table.c for key in ['level', ]):
60+
if all(key in table.c for key in ['level', 'lft', 'rgt', 'parent_id']):
6161
return table
6262

6363

sqlalchemy_mptt/tests/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ def add(self, model, fixtures):
5757
if hasattr(model, 'sqlalchemy_mptt_pk_name'):
5858
fixture[model.sqlalchemy_mptt_pk_name] = fixture.pop('id')
5959
self.session.add(model(**fixture))
60+
self.session.flush()
6061

6162

6263
class TreeTestingMixin(

sqlalchemy_mptt/tests/test_inheritance.py

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,61 @@ def test_rebuild(self):
110110
# hierarchies:
111111
# http://docs.sqlalchemy.org/en/rel_0_9/orm/query.html?highlight=update#sqlalchemy.orm.query.Query.update
112112
#
113-
# tl;dr: This test will always fail on specialized classes.
113+
# This test will always fail on specialized classes.
114114
try:
115115
super(TestSpecializedTree, self).test_rebuild()
116116
except Exception:
117117
import nose
118118
raise nose.SkipTest()
119119
else:
120120
raise AssertionError('Failure expected') # pragma: no cover
121+
122+
123+
Base2 = declarative_base()
124+
125+
126+
class BaseInheritance(Base2):
127+
__tablename__ = "base_inheritance"
128+
129+
ppk = sa.Column('idd', sa.Integer, primary_key=True)
130+
type = sa.Column(sa.Integer, default=0)
131+
visible = sa.Column(sa.Boolean)
132+
133+
__mapper_args__ = {
134+
'polymorphic_identity': 0,
135+
'polymorphic_on': type,
136+
}
137+
138+
def __repr__(self):
139+
return "<Node (%s)>" % self.ppk
140+
141+
142+
class InheritanceTree(BaseInheritance, BaseNestedSets):
143+
__tablename__ = "inheriance_tree"
144+
145+
ppk = sa.Column('idd', sa.Integer, sa.ForeignKey(BaseInheritance.ppk),
146+
primary_key=True)
147+
sqlalchemy_mptt_pk_name = 'ppk'
148+
149+
__mapper_args__ = {
150+
'polymorphic_identity': 1,
151+
}
152+
153+
154+
class TestInheritanceTree(TreeTestingMixin, unittest.TestCase):
155+
base = Base2
156+
model = InheritanceTree
157+
158+
def test_rebuild(self):
159+
# See the following URL for caveats when using update on mapped
160+
# hierarchies:
161+
# http://docs.sqlalchemy.org/en/rel_0_9/orm/query.html?highlight=update#sqlalchemy.orm.query.Query.update
162+
#
163+
# This test will always fail on specialized classes.
164+
try:
165+
super(TestInheritanceTree, self).test_rebuild()
166+
except Exception:
167+
import nose
168+
raise nose.SkipTest()
169+
else:
170+
raise AssertionError('Failure expected') # pragma: no cover

0 commit comments

Comments
 (0)