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 [email protected]
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()