As far as i know each declarative Base has its own metadata registry. You are using two. Why not use multiple mixins to inherit the columns?
Am 20.11.2012 10:31 schrieb "AlexVhr" <viho...@gmail.com>: > I'm trying to incapsulate some functionality (some columns mainly) into > base classes to inherit my models from them. The setup looks like this: > > class EntityTemplate(): > @declared_attr > def __tablename__(cls): > return cls.__name__.lower() > id = Column(Integer(), primary_key=True) > timestamp = Column(DateTime()) > class DocumentTemplate(EntityTemplate): > date = Column(Date()) > number = Column(String(5)) > Entity = declarative_base(cls=EntityTemplate, name='Entity')Document = > declarative_base(cls=DocumentTemplate, name='Document') > > I'm trying to use it like this: > > class Customer(Entity): > name = Column(String(25)) > address = Column(String(50)) > class Invoice(Document): > customer_id = Column(Integer, ForeignKey('customer.id')) > customer = relationship("Customer") > total = Column(Numeric(10,2)) > Entity.metadata.create_all(engine)Document.metadata.create_all(engine) > > But on the last line I get this: > > sqlalchemy.exc.NoReferencedTableError: Foreign key associated with > column'invoice.customer_id' could not find table 'customer' with which to > generate > a foreign key to target column 'id' > > If I inherit Invoice from Entity instead of Document, everything is fine > (except the fact that columns date and number are missing). Why? (I'm > using SQLAlchemy-0.7.9-py3.2). Thanks! > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/sqlalchemy/-/2IsSRLhqqqAJ. > To post to this group, send email to sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > -- 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 sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.