From: Mike Bayer Date: Tue, 31 Oct 2017 00:02:21 +0000 (-0400) Subject: - add notes that @comparator and @expression don't go together. X-Git-Tag: rel_1_2_0~35 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8965f3021539f3132311d6277aab475d6c44ebbe;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - add notes that @comparator and @expression don't go together. Change-Id: I3fb366f8b49454453e4b6dada565c24c5ccb975e --- diff --git a/lib/sqlalchemy/ext/hybrid.py b/lib/sqlalchemy/ext/hybrid.py index 141a645995..243ef961d4 100644 --- a/lib/sqlalchemy/ext/hybrid.py +++ b/lib/sqlalchemy/ext/hybrid.py @@ -384,6 +384,10 @@ behavior of each SQLAlchemy expression operator individually. They are useful when creating custom types that have some highly idiosyncratic behavior on the SQL side. +.. note:: The :meth:`.hybrid_property.comparator` decorator introduced + in this section **replaces** the use of the + :meth:`.hybrid_property.expression` decorator. They cannot be used together. + The example class below allows case-insensitive comparisons on the attribute named ``word_insensitive``:: @@ -972,6 +976,10 @@ class hybrid_property(interfaces.InspectionAttrInfo): The return value of the decorated method should be an instance of :class:`~.hybrid.Comparator`. + .. note:: The :meth:`.hybrid_property.comparator` decorator + **replaces** the use of the :meth:`.hybrid_property.expression` + decorator. They cannot be used together. + When a hybrid is invoked at the class level, the :class:`~.hybrid.Comparator` object given here is wrapped inside of a specialized :class:`.QueryableAttribute`, which is the same kind of