I tried to use AbstractConcreteBase for polymorphic relationships , but I am getting errors. The examples in sqlalchemy cover normal polymorphism well, but not those with Abstract Base classes.
I have already asked a question on stack overflow <https://stackoverflow.com/questions/49141410/correctly-eager-loading-polymorphic-relationships> . The gist of the question is: class OrderItem(Dictifiable, AbstractConcreteBase, db.Model): pass class OrderTestItem(OrderItem): order_id = Column(Integer, ForeignKey("order.id"), primary_key=True) test_id = Column(Integer, ForeignKey("test.id"), primary_key=True) test = relationship('Test') order = relationship('Order') __mapper_args__ = { 'polymorphic_identity': 'order_test_item', 'concrete': True } class Order(Dictifiable, db.Model): # This class has a relation to the polymorphic class id = Column(Integer, Sequence('user_id_seq'), primary_key=True) user_id = Column(Integer, ForeignKey('user.id')) user = relationship('User') items = relationship('OrderItem') I query like : pjoin = polymorphic_union({ 'order_test_item': OrderTestItem.__table__, }, 'type', 'pjoin') order_items = with_polymorphic(OrderItem,[OrderTestItem],selectable=pjoin,flat=True) And my actual query : order = Order.query.join(Order.items.of_type(order_items)).all() I would like to know what the correct way to query these tables is, how to eager load polymorphic tables, and how to filter on the relationships. I plan to send a pull request with an example of these test cases after I know the answers myself. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.