summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Bogun <surabujin@surabujin.org.ua>2016-10-01 09:22:06 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2016-10-01 09:27:47 -0400
commitdce32062236001ed89258cfe60c89bbca5db18c5 (patch)
tree6461b65d56d506009028552e31198d40e34e37cf
parent079df65dc0f71ea4d1771b6ae17e13242c766517 (diff)
downloadsqlalchemy-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.rst10
-rw-r--r--doc/build/orm/extensions/declarative/mixins.rst10
-rw-r--r--lib/sqlalchemy/ext/declarative/api.py13
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):