I have a ContentObject class mapped using: co_mapper = orm.mapper(ContentObject, content_objects_table, extension=COMapperExtension(), polymorphic_on=content_objects_table.c.type, polymorphic_identity='ContentObject', properties={ 'theme': orm.relation(Theme), 'resources': orm.relation(Resource, secondary=co_resources_table), 'children': orm.relation(ContentObject, secondary=co_children_table, primaryjoin=content_objects_table.c.id==co_children_table.c.parent_id, secondaryjoin=co_children_table.c.child_id==content_objects_table.c.id, backref='parents'), 'translations': orm.relation(ContentObjectTranslation, backref='co') } )
co = ContentObject() co.children.append(Session.query(ContentObject).get(1)) # assert co not in Session # fails! co.theme = Session.query(Theme).get(1) # Session flushes automatically when retrieving a theme, and I get an error because the theme_id column (with nullable=False) is not set yet IntegrityError: (IntegrityError) content_objects.theme_id may not be NULL u'INSERT INTO content_objects (type, parent_id, position, theme_id, data, keywords) VALUES (?, ?, ?, ?, ?, ?)' ['group', None, None, None, None, ''] If I remove backref='parents' it works as expected. Do I have to turn auto-flush off to avoid incidental flushes? Best regards, Adam --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---