How do you do single table inheritance for models in Camelot? I tried doing something similar to how you do it in SQLAlchemy but it gives an error.--class Person(Entity): __tablename__ = 'people' id = Column(sqlalchemy.Integer, primary_key=True) discriminator = Column('type', sqlalchemy.String(50)) __mapper_args__ = {'polymorphic_on': discriminator} class Admin(EntityAdmin): verbose_name = 'Person' list_display = ['id','discriminator'] class Engineer(Person): __mapper_args__ = {'polymorphic_identity': 'engineer'} primary_language = Column(sqlalchemy.String(50)) class Admin(EntityAdmin): verbose_name = 'HR' list_display = ['id','discriminator']This gives the following error:
Traceback (most recent call last):
File "D:/Programming/test/main.py", line 41, in <module> start_application() File "D:/Programming/test/main.py", line 37, in start_application from testing.application_admin import MyApplicationAdmin File "D:\Programming\test\testing\application_admin.py", line 6, in <module> from testing.model import Engineer, Person File "D:\Programming\test\testing\model.py", line 17, in <module> class Engineer(Person): File "C:\Python27\lib\site-packages\camelot\core\orm.py", line 334, in __init__ super( EntityMeta, cls ).__init__( classname, bases, dict_ ) File "C:\Python27\lib\site-packages\sqlalchemy\ext\declarative.py", line 1343, in __init__ _as_declarative(cls, classname, cls.__dict__) File "C:\Python27\lib\site-packages\sqlalchemy\ext\declarative.py", line 1336, in _as_declarative **mapper_args) File "C:\Python27\lib\site-packages\sqlalchemy\orm\__init__.py", line 1129, in mapper return Mapper(class_, local_table, *args, **params) File "C:\Python27\lib\site-packages\sqlalchemy\orm\mapper.py", line 197, in __init__ self._configure_inheritance() File "C:\Python27\lib\site-packages\sqlalchemy\orm\mapper.py", line 473, in _configure_inheritance self.local_table) File "C:\Python27\lib\site-packages\sqlalchemy\sql\util.py", line 303, in join_condition "between '%s' and '%s'.%s" % (a.description, b.description, hint)) sqlalchemy.exc.ArgumentError: Can't find any foreign key relationships between 'people' and 'engineer'.
--
You received this message because you are subscribed to the "Project Camelot" group.
Visit www.python-camelot.com for more information
To post to this group, send email to project...@googlegroups.com
To unsubscribe from this group, send email to
project-camel...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/project-camelot?hl=en
---
You received this message because you are subscribed to the Google Groups "Project Camelot" group.
To unsubscribe from this group and stop receiving emails from it, send an email to project-camel...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.