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()

Reply via email to