The SA trac is down so I'll post this here so I don't forget about. I would expect the last line of this test to print None, instead it prints out the species name, Maxillaria test. It seems like if you set an attribute on an object after it has been deleted it somehow becomes undeleted. I haven't looked over the code in SA, is this intentional?
---------- from sqlalchemy import * from sqlalchemy.orm.session import * uri = 'sqlite:///:memory:' global_connect(uri) species_table = Table('species', Column('id', Integer, primary_key=True), Column('sp', String), Column('genus_id', Integer, ForeignKey('genus.id')), Column('default_vernacular_name_id', Integer)) # ForeignKey('vernacular_name.id'))) vernacular_name_table = Table('vernacular_name', Column('id', Integer, primary_key=True), Column('name', Unicode(128), unique='vn_index'), Column('language', Unicode(128), unique='vn_index'), Column('species_id', Integer, ForeignKey('species.id'), unique='vn_index')) genus_table = Table('genus', Column('id', Integer, primary_key=True), Column('genus', String)) class Genus(object): def __str__(self): return self.genus class Species(object): def __str__(self): return '%s %s' % (self.genus, self.sp) class VernacularName(object): def __str__(self): return self.name mapper(Species, species_table) mapper(Genus, genus_table, properties = {'species': relation(Species, backref=backref('genus', lazy=False), order_by=['sp'])}) mapper(VernacularName, vernacular_name_table) default_metadata.create_all() genus_table.insert().execute({'genus': 'Maxillaria'}) species_table.insert().execute({'genus_id': 1, 'sp': 'sp'}) # where the action is session = create_session() sp = session.query(Species).get_by(id=1) assert sp is not None sp2 = Species() sp2.genus_id = 1 session.save(sp2) session.delete(sp2) sp2.sp = 'test' session.flush() print session.query(Species).get_by(id=2) ---------- ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Sqlalchemy-users mailing list Sqlalchemy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users