# ensure the "select_mapper", if different from the regular target mapper, is compiled.
self.mapper.get_select_mapper()._check_compile()
+ for inheriting in self.parent.iterate_to_root():
+ if inheriting is not self.parent and inheriting.get_property(self.key, raiseerr=False):
+ warnings.warn(RuntimeWarning("Warning: relation '%s' on mapper '%s' supercedes the same relation on inherited mapper '%s'; this can cause dependency issues during flush" % (self.key, self.parent, inheriting)))
+
if self.association is not None:
if isinstance(self.association, type):
self.association = mapper.class_mapper(self.association, entity_name=self.entity_name, compile=False)._check_compile()
else:
get_dependency_task(whosdep[0], dep).append(whosdep[1], isdelete=isdelete)
else:
- get_dependency_task(state, dep).append(obj, isdelete=isdelete)
+ # TODO: no test coverage here
+ get_dependency_task(state, dep).append(state, isdelete=isdelete)
head = topological.sort_as_tree(tuples, allobjects)
somea = A('somea')
someb = B('someb')
somec = C('somec')
- print "APPENDING", parent.__class__.__name__ , "TO", child.__class__.__name__
+
+ #print "APPENDING", parent.__class__.__name__ , "TO", child.__class__.__name__
+
sess.save(parent_obj)
parent_obj.collection.append(child_obj)
if direction == ONETOMANY: