From: Mike Bayer Date: Sat, 1 Oct 2016 13:42:21 +0000 (-0400) Subject: - some documentation hits X-Git-Tag: rel_1_1_0~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9bfd0289383bfcaf650fe516862df545dcf95c2e;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - some documentation hits Change-Id: I468fe70168804b08cf0d5e8b57e235bca904b1ff --- diff --git a/doc/build/core/defaults.rst b/doc/build/core/defaults.rst index a7287a3608..b0001200cc 100644 --- a/doc/build/core/defaults.rst +++ b/doc/build/core/defaults.rst @@ -237,11 +237,6 @@ called out using :class:`.FetchedValue` as a marker:: Column('def', String(20), server_onupdate=FetchedValue()) ) -.. versionchanged:: 0.8.0b2,0.7.10 - The ``for_update`` argument on :class:`.FetchedValue` is set automatically - when specified as the ``server_onupdate`` argument. If using an older version, - specify the onupdate above as ``server_onupdate=FetchedValue(for_update=True)``. - These markers do not emit a "default" clause when the table is created, however they do set the same internal flags as a static ``server_default`` clause, providing hints to higher-level tools that a "post-fetch" of these diff --git a/doc/build/orm/extensions/declarative/mixins.rst b/doc/build/orm/extensions/declarative/mixins.rst index d1ad7a68b9..577ed140f4 100644 --- a/doc/build/orm/extensions/declarative/mixins.rst +++ b/doc/build/orm/extensions/declarative/mixins.rst @@ -370,6 +370,7 @@ and ``TypeB`` classes. attributes, including user-defined attributes as well as :func:`.association_proxy`. +.. _decl_mixin_inheritance: Controlling table inheritance with mixins ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/lib/sqlalchemy/ext/declarative/api.py b/lib/sqlalchemy/ext/declarative/api.py index b2e8b5afec..d02db7aa53 100644 --- a/lib/sqlalchemy/ext/declarative/api.py +++ b/lib/sqlalchemy/ext/declarative/api.py @@ -42,6 +42,15 @@ def instrument_declarative(cls, registry, metadata): def has_inherited_table(cls): """Given a class, return True if any of the classes it inherits from has a mapped table, otherwise return False. + + This is used in declarative mixins to build attributes that behave + differently for the base class vs. a subclass in an inheritance + hierarchy. + + .. seealso:: + + :ref:`decl_mixin_inheritance` + """ for class_ in cls.__mro__[1:]: if getattr(class_, '__table__', None) is not None: diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index 98a96fd56f..fe98138ad4 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -1061,6 +1061,10 @@ class Column(SchemaItem, ColumnClause): using :class:`.ColumnDefault` as a positional argument with ``for_update=True``. + .. seealso:: + + :ref:`metadata_defaults` - complete discussion of onupdate + :param primary_key: If ``True``, marks this column as a primary key column. Multiple columns can have this flag set to specify composite primary keys. As an alternative, the primary key of a @@ -1095,14 +1099,20 @@ class Column(SchemaItem, ColumnClause): .. seealso:: - :ref:`server_defaults` + :ref:`server_defaults` - complete discussion of server side + defaults :param server_onupdate: A :class:`.FetchedValue` instance - representing a database-side default generation function. This + representing a database-side default generation function, + such as a trigger. This indicates to SQLAlchemy that a newly generated value will be - available after updates. This construct does not specify any DDL - and the implementation is left to the database, such as via a - trigger. + available after updates. This construct does not actually + implement any kind of generation function within the database, + which instead must be specified separately. + + .. seealso:: + + :ref:`triggered_columns` :param quote: Force quoting of this column's name on or off, corresponding to ``True`` or ``False``. When left at its default