hi, what's wrong with the attached example? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
from sqlalchemy import * from sqlalchemy.orm import * metadata = MetaData('sqlite://') #~ metadata.bind.echo = 'debug' companies = Table('companies', metadata, Column('company_id', Integer, primary_key=True), Column('name', String(50))) employees_table = Table('employees', metadata, Column('employee_id', Integer, primary_key=True), Column('company_id', Integer, ForeignKey('companies.company_id')), Column('name', String(50)), ) metadata.create_all() class Person(object): def __init__(self, **kwargs): for key, value in kwargs.iteritems(): setattr(self, key, value) def __repr__(self): return "Ordinary person %s" % self.name class Company(object): def __init__(self, **kwargs): for key, value in kwargs.iteritems(): setattr(self, key, value) def __repr__(self): return "Company %s" % self.name company_mapper = mapper(Company, companies) person_mapper = mapper(Person, employees_table, properties={ 'company': relation(Company, backref=backref('employees', lazy='dynamic')) }) session = create_session() c = Company(name='company1') c.employees.append(Person(name='joesmith')) session.save(c) session.flush() session.clear() c = session.query(Company).get(1) print c.employees print list(c.employees) print c.employees.count() metadata.drop_all()