diff options
author | Dmitry Bogun <surabujin@surabujin.org.ua> | 2016-10-01 09:22:06 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-10-01 09:27:47 -0400 |
commit | dce32062236001ed89258cfe60c89bbca5db18c5 (patch) | |
tree | 6461b65d56d506009028552e31198d40e34e37cf | |
parent | 079df65dc0f71ea4d1771b6ae17e13242c766517 (diff) | |
download | sqlalchemy-dce32062236001ed89258cfe60c89bbca5db18c5.tar.gz |
Remove extra "return" statement in orm.ext.declared_attr.cascading examples
Also improves some naming in the examples.
Change-Id: I51e5b1d9a730885aed10e5e6ade2123f5e736359
Pull-request: https://github.com/zzzeek/sqlalchemy/pull/306
-rw-r--r-- | doc/build/changelog/migration_10.rst | 10 | ||||
-rw-r--r-- | doc/build/orm/extensions/declarative/mixins.rst | 10 | ||||
-rw-r--r-- | lib/sqlalchemy/ext/declarative/api.py | 13 |
3 files changed, 13 insertions, 20 deletions
diff --git a/doc/build/changelog/migration_10.rst b/doc/build/changelog/migration_10.rst index f539d8b94..56b79c88a 100644 --- a/doc/build/changelog/migration_10.rst +++ b/doc/build/changelog/migration_10.rst @@ -163,18 +163,16 @@ is affixed to the base class only, and just inherited from subclasses. With :attr:`.declared_attr.cascading`, individual behaviors can be applied:: - class HasSomeAttribute(object): + class HasIdMixin(object): @declared_attr.cascading - def some_id(cls): + def id(cls): if has_inherited_table(cls): return Column(ForeignKey('myclass.id'), primary_key=True) else: return Column(Integer, primary_key=True) - return Column('id', Integer, primary_key=True) - - class MyClass(HasSomeAttribute, Base): - "" + class MyClass(HasIdMixin, Base): + __tablename__ = 'myclass' # ... class MySubClass(MyClass): diff --git a/doc/build/orm/extensions/declarative/mixins.rst b/doc/build/orm/extensions/declarative/mixins.rst index e4acc8750..d1ad7a68b 100644 --- a/doc/build/orm/extensions/declarative/mixins.rst +++ b/doc/build/orm/extensions/declarative/mixins.rst @@ -466,17 +466,15 @@ foreign key. We can achieve this as a mixin by using the function should be invoked **for each class in the hierarchy**, just like it does for ``__tablename__``:: - class HasId(object): + class HasIdMixin(object): @declared_attr.cascading def id(cls): if has_inherited_table(cls): - return Column('id', - Integer, - ForeignKey('person.id'), primary_key=True) + return Column(ForeignKey('person.id'), primary_key=True) else: - return Column('id', Integer, primary_key=True) + return Column(Integer, primary_key=True) - class Person(HasId, Base): + class Person(HasIdMixin, Base): __tablename__ = 'person' discriminator = Column('type', String(50)) __mapper_args__ = {'polymorphic_on': discriminator} diff --git a/lib/sqlalchemy/ext/declarative/api.py b/lib/sqlalchemy/ext/declarative/api.py index 1abd0467e..b2e8b5afe 100644 --- a/lib/sqlalchemy/ext/declarative/api.py +++ b/lib/sqlalchemy/ext/declarative/api.py @@ -196,19 +196,16 @@ class declared_attr(interfaces._MappedAttribute, property): Below, both MyClass as well as MySubClass will have a distinct ``id`` Column object established:: - class HasSomeAttribute(object): + class HasIdMixin(object): @declared_attr.cascading - def some_id(cls): + def id(cls): if has_inherited_table(cls): - return Column( - ForeignKey('myclass.id'), primary_key=True) + return Column(ForeignKey('myclass.id'), primary_key=True) else: return Column(Integer, primary_key=True) - return Column('id', Integer, primary_key=True) - - class MyClass(HasSomeAttribute, Base): - "" + class MyClass(HasIdMixin, Base): + __tablename__ = 'myclass' # ... class MySubClass(MyClass): |