Adding __abstract__ = True to the AbstractCoupe did seem to resolve those
errors, but it gave me a new one:

________________________________________________________

from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.ext.declarative import declared_attr


class AbstractVehicle(object):
    __tablename__ = "vehicles"

    id = Column(Integer, primary_key=True)
    name = Column(String, nullable=False)
    type = Column(String)

    __mapper_args__ = {"polymorphic_on": type}


class AbstractCar(AbstractVehicle):
    __tablename__ = "cars"

    id = Column("id", Integer, primary_key=True)

    __mapper_args__ = {"polymorphic_identity": "car"}
    __table_args__ = (
        ForeignKeyConstraint(["id"], ["vehicles.id"]),
    )


class AbstractCoupe(AbstractCar):
    __abstract__ = True
    __mapper_args__ = {"polymorphic_identity": "coupe"}


Base = declarative_base()


class Vehicle(AbstractVehicle, Base):
    pass


class Car(AbstractCar, Vehicle):
    pass


class Coupe(AbstractCoupe, Car):
    pass


if __name__ == "__main__":
    e = create_engine("sqlite://", echo=True)
    Base.metadata.create_all(e)
    s = Session(e)

    s.add(Coupe(id=10, name="test"))

    s.commit()
    s.close()

    b1 = s.query(Coupe).first()
    print(b1)

________________________________________________________

Traceback (most recent call last):
  File "test.py", line 53, in <module>
    s.add(Coupe(id=10, name="test"))
  File "<string>", line 4, in __init__
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/orm/state.py",
line 306, in _initialize_instance
    manager.dispatch.init_failure(self, args, kwargs)
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/util/langhelpers.py",
line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/util/compat.py",
line 184, in reraise
    raise value
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/orm/state.py",
line 303, in _initialize_instance
    return manager.original_init(*mixed[1:], **kwargs)
  File "<string>", line 6, in __init__
  File "<string>", line 6, in __init__
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/ext/declarative/base.py",
line 649, in _declarative_constructor
    setattr(self, k, kwargs[k])
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/orm/attributes.py",
line 223, in __set__
    self.impl.set(instance_state(instance),
AttributeError: 'NoneType' object has no attribute 'set'

________________________________________________________

When I take out the arguments and just run:

s.add(Coupe())

It gives me this:
________________________________________________________

Traceback (most recent call last):
  File "test.py", line 53, in <module>
    s.add(Coupe())
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/orm/session.py",
line 1588, in add
    self._save_or_update_state(state)
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/orm/session.py",
line 1602, in _save_or_update_state
    mapper = _state_mapper(state)
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/util/langhelpers.py",
line 754, in __get__
    obj.__dict__[self.__name__] = result = self.fget(obj)
  File
"/mnt/hgfs/Documents/git/cc-mysql/env/lib/python3.5/site-packages/sqlalchemy/orm/instrumentation.py",
line 116, in mapper
    raise exc.UnmappedClassError(self.class_)
sqlalchemy.orm.exc.UnmappedClassError: Class '__main__.Coupe' is not mapped

________________________________________________________

Sorry for the intermittent responses. Thanks so much for your help!

On Mon, Jun 27, 2016 at 2:21 PM, Mike Bayer <mike...@zzzcomputing.com>
wrote:

> I think it's OK to add __abstract__ to those mixins, in this case it seems
> like the (pretty complicated) class graph is adding up to something that
> causes declarative to see AbstractCar as mapped class thus a "car" table is
> added.  Adding __abstract__ to AbstractCoupe seems to resolve.
>
>
>
>
> On 06/27/2016 05:10 PM, Angie Ellis wrote:
>
>> I implemented the changes you suggested, but I am running into errors
>> with some polymorphic relations. Using a different theme, here is an
>> example:
>>
>>
>> class AbstractVehicle(object):
>>     __tablename__ = "vehicles"
>>
>>     id = Column(Integer, primary_key=True)
>>     name = Column(String, nullable=False)
>>     type = Column(String)
>>
>>     __mapper_args__ = {"polymorphic_on": type}
>>
>>
>> class AbstractCar(AbstractVehicle):
>>     __tablename__ = "cars"
>>
>>     id = Column("id", Integer, primary_key=True)
>>
>>     __mapper_args__ = {"polymorphic_identity": "car"}
>>     __table_args__ = (
>>         ForeignKeyConstraint(["id"], ["vehicles.id <http://vehicles.id
>> >"]),
>>
>>     )
>>
>>
>> class AbstractCoupe(AbstractCar):
>>     __mapper_args__ = {"polymorphic_identity": "coupe"}
>>
>>
>> Base = declarative_base()
>>
>>
>> class Vehicle(AbstractVehicle, Base):
>>     pass
>>
>>
>> class Car(AbstractCar, Vehicle):
>>     pass
>>
>>
>> class Coupe(AbstractCoupe, Car):
>>     pass
>>
>>
>> This resulted in the following error:
>>
>>
>>   File ".../model/vehicle.py", line 255, in <module>
>>     class Coupe(AbstractCoupe, Car):
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/api.py",
>> line 55, in __init__
>>     _as_declarative(cls, classname, cls.__dict__)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 88, in _as_declarative
>>     _MapperConfig.setup_mapping(cls, classname, dict_)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 103, in setup_mapping
>>     cfg_cls(cls_, classname, dict_)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 131, in __init__
>>     self._setup_table()
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 395, in _setup_table
>>     **table_kw)
>>   File ".../env/lib/python2.7/site-packages/sqlalchemy/sql/schema.py",
>> line 398, in __new__
>>     "existing Table object." % key)
>> InvalidRequestError: Table 'cars' is already defined for this MetaData
>> instance.  Specify 'extend_existing=True' to redefine options and
>> columns on an existing Table object.
>>
>>
>> After adding "extend_existing=True" to the AbstractCoupe model, I
>> received this error:
>>
>>
>>   File ".../model/vehicle.py", line 255, in <module>
>>     class Coupe(AbstractCoupe, Car):
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/api.py",
>> line 55, in __init__
>>     _as_declarative(cls, classname, cls.__dict__)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 88, in _as_declarative
>>     _MapperConfig.setup_mapping(cls, classname, dict_)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 103, in setup_mapping
>>     cfg_cls(cls_, classname, dict_)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 135, in __init__
>>     self._early_mapping()
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 138, in _early_mapping
>>     self.map()
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/ext/declarative/base.py",
>> line
>> 530, in map
>>     **self.mapper_args
>>   File "<string>", line 2, in mapper
>>   File ".../env/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py",
>> line 627, in __init__
>>     self._configure_properties()
>>   File ".../env/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py",
>> line 1292, in _configure_properties
>>     self._adapt_inherited_property(key, prop, False)
>>   File ".../env/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py",
>> line 1514, in _adapt_inherited_property
>>     self._configure_property(key, prop, init=False, setparent=False)
>>   File ".../env/lib/python2.7/site-packages/sqlalchemy/orm/mapper.py",
>> line 1541, in _configure_property
>>     prop.columns[0])
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/sql/selectable.py", line
>> 476, in corresponding_column
>>     if self.c.contains_column(column):
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py",
>> line 754, in __get__
>>     obj.__dict__[self.__name__] = result = self.fget(obj)
>>   File
>> ".../env/lib/python2.7/site-packages/sqlalchemy/sql/selectable.py", line
>> 553, in columns
>>     return self._columns.as_immutable()
>> AttributeError: 'Table' object has no attribute '_columns'
>>
>>
>> Is there a way to fix or work around this?
>>
>> Thanks,
>> Angie
>>
>> On Wed, Jun 22, 2016 at 7:27 PM, Mike Bayer <mike...@zzzcomputing.com
>> <mailto:mike...@zzzcomputing.com>> wrote:
>>
>>
>>
>>     On 06/22/2016 04:53 PM, Angie Ellis wrote:
>>
>>         Mike,
>>
>>         Thank you for the response! I do have control over the external
>>         library.
>>         I like your idea having both the abstract classes and concrete
>>         classes
>>         available in the library because I have use cases for both in my
>>         applications. However, I'm not quite sure how to configure the
>>         inheritance and declarative base. What am I doing wrong here?
>>
>>
>>         class AbstractFoo(object):
>>             __abstract__ = True
>>             __tablename__ = "foo"
>>             id = Column(Integer, primary_key=True)
>>             type = Column(String)
>>             foo_bar_id = Column(Integer, ForeignKey("foo_bar.id
>>         <http://foo_bar.id>
>>         <http://foo_bar.id>"))
>>             foo_bar = relationship("FooBar", backref=backref("foo"))
>>
>>             __mapper_args__ = {"polymorphic_on": type}
>>
>>
>>         class AbstractBar(object):
>>             __abstract__ = True
>>             __mapper_args__ = {"polymorphic_identity": "bar"}
>>
>>
>>         class AbstractFooBar(object):
>>             __abstract__ = True
>>             __tablename__ = "foo_bar"
>>             id = Column(Integer, primary_key=True)
>>
>>
>>
>>         Base = declarative_base()
>>
>>
>>         class Foo(AbstractFoo, Base):
>>             pass
>>
>>
>>         class Bar(AbstractBar, Foo):
>>             pass
>>
>>
>>         class FooBar(AbstractFooBar, Base):
>>             pass
>>
>>
>>         Does AbstractBar need to inherit from AbstractFoo? Do the abstract
>>         classes need to inherit their own declarative base? Do I need to
>>         change
>>         the inheritance order? The classes Foo, Bar, and FooBar are not
>>         getting
>>         mapped.
>>
>>
>>     So the way you have it is that those are mixins, which is fine, and
>>     I guess that's how we need it because you want to keep multiple
>>     Base's in play at the same time.   You don't need the __abstract__
>>     keyword in that case.  So to map that looks like the following POC:
>>
>>     from sqlalchemy import *
>>     from sqlalchemy.orm import *
>>     from sqlalchemy.ext.declarative import declarative_base
>>     from sqlalchemy.ext.declarative import declared_attr
>>
>>
>>     class AbstractFoo(object):
>>         __tablename__ = "foo"
>>
>>         id = Column(Integer, primary_key=True)
>>         type = Column(String)
>>
>>         @declared_attr
>>         def foo_bar_id(cls):
>>             return Column(Integer, ForeignKey("foo_bar.id
>>     <http://foo_bar.id>"))
>>
>>
>>         @declared_attr
>>         def foo_bar(cls):
>>             return relationship("FooBar", backref=backref("foo"))
>>
>>         __mapper_args__ = {"polymorphic_on": type}
>>
>>
>>     class AbstractBar(AbstractFoo):
>>         __mapper_args__ = {"polymorphic_identity": "bar"}
>>
>>
>>     class AbstractFooBar(object):
>>         __tablename__ = "foo_bar"
>>         id = Column(Integer, primary_key=True)
>>
>>
>>     Base = declarative_base()
>>
>>
>>     class Foo(AbstractFoo, Base):
>>         pass
>>
>>
>>     class Bar(AbstractBar, Foo):
>>         pass
>>
>>
>>     class FooBar(AbstractFooBar, Base):
>>         pass
>>
>>     e = create_engine("sqlite://", echo=True)
>>     Base.metadata.create_all(e)
>>     s = Session(e)
>>
>>     s.add(Bar(foo_bar=FooBar()))
>>
>>     s.commit()
>>     s.close()
>>
>>     b1 = s.query(Foo).first()
>>     print b1
>>     print b1.foo_bar
>>
>>
>>
>>
>>
>>
>>         Thanks,
>>         Angie
>>
>>         On Fri, Jun 3, 2016 at 12:38 PM, Mike Bayer
>>         <mike...@zzzcomputing.com <mailto:mike...@zzzcomputing.com>
>>         <mailto:mike...@zzzcomputing.com
>>
>>         <mailto:mike...@zzzcomputing.com>>> wrote:
>>
>>
>>
>>             On 06/03/2016 02:44 PM, Angie E wrote:
>>
>>                 Rather than creating mixin classes that models inherit
>>         from, I
>>                 have a
>>                 use case that requires me to configure classes the other
>> way
>>                 around. The
>>                 classes that would normally be mixin classes need to be
>> the
>>                 classes that
>>                 inherit from the models as well as the class that model
>>         objects are
>>                 created from. This is because the models and the mapper
>>                 configurations
>>                 are in an external library from the main repository. I
>>         need to
>>                 pass in
>>                 the host for the engine from the main repository to the
>>         models
>>                 library
>>                 before any of the models are loaded so they can load
>>         with the
>>                 declarative base already configured.
>>
>>
>>             I hope you are using reflection for these models, otherwise
>>         there's
>>             no reason to have a depedency on the Engine for the model
>>         declaration.
>>
>>
>>             After the engine information is
>>
>>                 passed in, the session, Base class, and everything is
>>         created
>>                 within a
>>                 sort of base class that the models inherit from. Here is a
>>                 simplified
>>                 example:
>>
>>
>>                 class SQLAlchemyBase(object):
>>                     metadata = None
>>                     Session = None
>>                     Base = object
>>                     sessionfactory = sessionmaker()
>>
>>                     def initialize(self, host):
>>                         engine = create_engine(host)
>>                         self.metadata = MetaData(bind=engine)
>>                         self.Session = scoped_session(self.sessionfactory)
>>                         self.Base =
>> declarative_base(metadata=self.metadata)
>>
>>                 models = SQLAlchemyBase()
>>
>>                 (The models inherit from models.Base)
>>
>>
>>                 So the SQLAlchemyBase will be imported into the main
>>         repository, the
>>                 initialize method will be called, passing in the host
>>         for the
>>                 engine,
>>                 and the models can then be imported.
>>
>>
>>             Looks like no reflection taking place.  I'd do away with the
>>             MetaData(bind=engine), and just have the engine as part of the
>>             sessionmaker(), and the sessionmaker() here also doesn't need
>> to
>>             have anything to do with the "library", if the "library" is
>> just
>>             defining model classes.
>>
>>             The "bound metadata" pattern is highly discouraged in modern
>>             SQLAlchemy because it leads to this kind of confusion, e.g.
>>         that one
>>             needs an Engine in order to declare models.  You don't.
>>
>>
>>
>>
>>
>>
>>             The main repository has its own
>>
>>                 classes with the same names as the models and have
>>         additional
>>                 methods
>>                 that a normal mixin class would have to extend
>>         functionality.
>>                 However, I
>>                 am unable to create model objects using the classes in
>>         the main
>>                 repository because I can't get the mappers to play nice
>>         with this
>>                 unusual inheritance that extends from the external
>>         models library.
>>                 Additionally, in the models library, there are models
>>         that have
>>                 multiple
>>                 levels of inherited polymorphic relationships. Here is an
>>                 example that
>>                 is similar one of the more basic inherited polymorphic
>>                 relationships:
>>
>>
>>                 **Models Library**
>>
>>                 class Foo(models.Base):
>>
>>                     __tablename__ = "foo"
>>                     id = Column(Integer, primary_key=True)
>>                     type = Column(String)
>>                     foo_bar_id = Column(Integer, ForeignKey("foo_bar.id
>>         <http://foo_bar.id>
>>                 <http://foo_bar.id>"))
>>
>>                     foo_bar = relationship(Foo, backref=backref("foos"))
>>
>>                     __mapper_args__ = {"polymorphic_on": type}
>>
>>
>>                 class Bar(Foo):
>>
>>                     __mapper_args__ = {"polymorphic_identity": "bar"}
>>
>>
>>                 class FooBar(models.Base):
>>
>>                     __tablename__ = "foo_bar"
>>                     id = Column(Integer, primary_key=True)
>>
>>
>>                 **Main Repository**
>>
>>                 from separate_library.models import models, Foo as
>>         BaseFoo, Bar as
>>                 BaseBar, FooBar as BaseFooBar
>>
>>
>>                 class Foo(BaseFoo):
>>
>>                     @classmethod
>>                     def custom_create_method(cls, **kw):
>>                         foo_obj = cls(**kw)
>>                         models.session.add(foo_obj)
>>                         models.session.flush()
>>
>>
>>                 class Bar(BaseBar):
>>                     pass
>>
>>
>>                 class FooBar(BaseFooBar):
>>                     pass
>>
>>
>>                 The original error I was getting was something like this:
>>
>>                 "InvalidRequestError: One or more mappers failed to
>>         initialize -
>>                 can't
>>                 proceed with initialization of other mappers.  Original
>>                 exception was:
>>                 Multiple classes found for path "Foo" in the registry of
>>         this
>>                 declarative base. Please use a fully module-qualified
>> path."
>>
>>
>>             that only happens if someone is using a string name inside of
>>             relationship(), like this:
>>
>>             foobars = relationship("Foo")
>>
>>             If the "library" is doing that, and you can't change it, easy
>>             solution, use a different name for your "Foo" that's also in
>>         the 3rd
>>             party library.   Or declare your classes against a different
>>         base:
>>
>>             Base = declarative_base()
>>
>>             class Foo(other_package.Foo, Base):
>>                 # ...
>>
>>
>>             class Bar(other_package.Bar, Base):
>>                 # ...
>>
>>             I'm not 100% sure that will work but there's probably a way
>>         to make
>>             that work.
>>
>>
>>
>>
>>                 So I tried putting the full path in the relationships.
>>         Then it
>>                 started
>>                 giving me an error like this:
>>
>>
>>             oh, OK, then you're fine there.
>>
>>
>>
>>                  "FlushError: Attempting to flush an item of type <class
>>                 'main_module.models.Foo'> as a member of collection
>>         "FooBar.foos".
>>                 Expected an object of type <class
>>         'separate_library.models.Foo'>
>>                 or a
>>                 polymorphic subclass of this type. If <class
>>                 'main_module.models.Foo'>
>>                 is a subclass of <class 'separate_library.models.Foo'>,
>>                 configure mapper
>>                 "Mapper|Foo|foos" to load this subtype polymorphically,
>>         or set
>>                 enable_typechecks=False to allow any subtype to be
>>         accepted for
>>                 flush.
>>
>>
>>             Well, when this relationship loads, you'd like it to return
>>         a list
>>             of main_module.models.Foo objects and not
>>             separate_library.models.Foo. Your model here needs to have a
>>             polymorphic identity assigned so that it can do this.  I
>>         don't see
>>             those set up in your mappings, you need to put those in
>>         explcitly.
>>             If you're trying to re-use the same names that the
>>         superclass has,
>>             you might need to manipulate Foo.__mapper__.polymorphic_map
>>             directly, not sure.
>>
>>
>>
>>
>>                 Essentially, the main problem is getting the classes in
>>         the main
>>                 module
>>                 to point to and act like the model classes. For example,
>>         when I
>>                 try to
>>                 create relationships, it says it expected an object of
>> type
>>                 'separate_library.models.Foo' instead of
>>         'main_module.models.Foo'.
>>
>>
>>             other than using a different name, there are ways to
>>         manipulate the
>>             registry that is doing this but they aren't publicly supported
>>             patterns, unless the easy "use a different Base" trick works
>>         out here.
>>
>>                 Additionally, in the polymorphic relationships, I can't
>>         get the
>>                 polymorphic_identity to populate for the polymorphic_on
>>         column. For
>>                 example, Bar in the main repository will have the 'type'
>>         column
>>                 empty
>>                 when the object is initially created.
>>
>>
>>             when you make a subclass like you are doing, you need to
>>         give it its
>>             own identity, so it at least needs to have
>>         "polymorphic_identity"
>>             set up locally.
>>
>>             Overall there would be a question here, which is: do you have
>>             control over this external library?  If so, I would design
>>         it to be
>>             used for subclassing by another declarative system.   Assign
>>         names
>>             like "AbstractFoo" to the classes and additionally use the
>>             __abstract__ = True declarative flag to mark them as such,
>>         then use
>>             @declared_attr around __mapper_args__ to assign mapper
>> arguments
>>             like polymorphic identity to subclasses properly.
>>
>>             If you do *not* have control over this external library,
>>         then it is
>>             not intended to be used in this way; the most preferable way
>>         to go
>>             about this would be to get the maintainers of it to change it
>> in
>>             order to allow it to be used in this way.    An easy way for
>> the
>>             external library to work like this would be that it supplies
>>         both
>>             the __abstract__ classes with nice names like AbstractFoo,
>>         then for
>>             its own purposes it supplies its own Foo / Bar concrete
>>         classes on
>>             top of a separate declarative Base, and you'd skip using
>>         that part.
>>
>>
>>
>>
>>                 One idea I tried was to add a metaclass to the
>>         declarative base
>>                 in the
>>                 models library and modify the mappers in the __init__
>>         method during
>>                 their initialization. I made progress this way, but
>> haven't
>>                 gotten it to
>>                 work completely.
>>
>>
>>             There's proabably ways to make this work with more tricks and
>>             metaclasses but they aren't supported on the SQLAlchemy end
>>         and they
>>             will be brittle, they will break when declarative changes how
>> it
>>             does things internally.
>>
>>
>>
>>                 Sorry for the complex explanation, but this is a complex
>>                 problem. I am
>>                 not able to change anything about the models or the use
>>         case,
>>                 unfortunately. I have to work within these constraints.
>>
>>
>>             If these are two different systems within your company, it
>>         would be
>>             a better investment to get the upstream system to work more
>>             flexibly, rather than invest efforts working around the
>> system's
>>             limitations downstream.  But, if the overlapping names and the
>>             polymorphic identities are the only problem you should be
>>         able to
>>             work around those.
>>
>>
>>
>>             If anyone can
>>
>>                 offer ideas on how to configure the mappers for the
>>         classes in
>>                 the main
>>                 repository to act like the models in the model library,
>>         I would
>>                 be very
>>                 grateful.
>>
>>                 --
>>                 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
>>         <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>
>>                 <mailto:sqlalchemy%2bunsubscr...@googlegroups.com
>>         <mailto:sqlalchemy%252bunsubscr...@googlegroups.com>>
>>                 <mailto:sqlalchemy+unsubscr...@googlegroups.com
>>         <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>
>>                 <mailto:sqlalchemy%2bunsubscr...@googlegroups.com
>>         <mailto:sqlalchemy%252bunsubscr...@googlegroups.com>>>.
>>                 To post to this group, send email to
>>         sqlalchemy@googlegroups.com <mailto:sqlalchemy@googlegroups.com>
>>                 <mailto:sqlalchemy@googlegroups.com
>>         <mailto:sqlalchemy@googlegroups.com>>
>>                 <mailto:sqlalchemy@googlegroups.com
>>         <mailto:sqlalchemy@googlegroups.com>
>>                 <mailto:sqlalchemy@googlegroups.com
>>         <mailto:sqlalchemy@googlegroups.com>>>.
>>                 Visit this group at
>>         https://groups.google.com/group/sqlalchemy.
>>                 For more options, visit
>> https://groups.google.com/d/optout.
>>
>>
>>             --
>>             You received this message because you are subscribed to a
>>         topic in
>>             the Google Groups "sqlalchemy" group.
>>             To unsubscribe from this topic, visit
>>
>>
>> https://groups.google.com/d/topic/sqlalchemy/u_CiTJIK9Gs/unsubscribe.
>>             To unsubscribe from this group and all its topics, send an
>>         email to
>>             sqlalchemy+unsubscr...@googlegroups.com
>>         <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>
>>             <mailto:sqlalchemy%2bunsubscr...@googlegroups.com
>>         <mailto:sqlalchemy%252bunsubscr...@googlegroups.com>>.
>>
>>             To post to this group, send email to
>>         sqlalchemy@googlegroups.com <mailto:sqlalchemy@googlegroups.com>
>>             <mailto:sqlalchemy@googlegroups.com
>>         <mailto:sqlalchemy@googlegroups.com>>.
>>             Visit this group at
>> https://groups.google.com/group/sqlalchemy.
>>             For more options, visit https://groups.google.com/d/optout.
>>
>>
>>         --
>>         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
>>         <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>
>>         <mailto:sqlalchemy+unsubscr...@googlegroups.com
>>         <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>>.
>>         To post to this group, send email to sqlalchemy@googlegroups.com
>>         <mailto:sqlalchemy@googlegroups.com>
>>         <mailto:sqlalchemy@googlegroups.com
>>         <mailto:sqlalchemy@googlegroups.com>>.
>>         Visit this group at https://groups.google.com/group/sqlalchemy.
>>         For more options, visit https://groups.google.com/d/optout.
>>
>>
>>     --
>>     You received this message because you are subscribed to a topic in
>>     the Google Groups "sqlalchemy" group.
>>     To unsubscribe from this topic, visit
>>     https://groups.google.com/d/topic/sqlalchemy/u_CiTJIK9Gs/unsubscribe.
>>     To unsubscribe from this group and all its topics, send an email to
>>     sqlalchemy+unsubscr...@googlegroups.com
>>     <mailto:sqlalchemy%2bunsubscr...@googlegroups.com>.
>>     To post to this group, send email to sqlalchemy@googlegroups.com
>>     <mailto:sqlalchemy@googlegroups.com>.
>>     Visit this group at https://groups.google.com/group/sqlalchemy.
>>     For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> 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
>> <mailto:sqlalchemy+unsubscr...@googlegroups.com>.
>> To post to this group, send email to sqlalchemy@googlegroups.com
>> <mailto:sqlalchemy@googlegroups.com>.
>> Visit this group at https://groups.google.com/group/sqlalchemy.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "sqlalchemy" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sqlalchemy/u_CiTJIK9Gs/unsubscribe.
> To unsubscribe from this group and all its topics, 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.
>

-- 
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.

Reply via email to