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
attributes, including user-defined attributes as well as
:func:`.association_proxy`.
+.. _decl_mixin_inheritance:
Controlling table inheritance with mixins
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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:
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
.. 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