summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/build/orm/extensions/hybrid.rst12
-rw-r--r--doc/build/orm/extensions/index.rst1
-rw-r--r--lib/sqlalchemy/ext/hybrid.py19
3 files changed, 15 insertions, 17 deletions
diff --git a/doc/build/orm/extensions/hybrid.rst b/doc/build/orm/extensions/hybrid.rst
new file mode 100644
index 000000000..e986f1702
--- /dev/null
+++ b/doc/build/orm/extensions/hybrid.rst
@@ -0,0 +1,12 @@
+Hybrid Attributes
+=================
+
+.. automodule:: sqlalchemy.ext.hybrid
+
+API Reference
+-------------
+
+.. autoclass:: method
+.. autoclass:: property_
+.. autoclass:: Comparator
+
diff --git a/doc/build/orm/extensions/index.rst b/doc/build/orm/extensions/index.rst
index 5033ad5e9..05f86771c 100644
--- a/doc/build/orm/extensions/index.rst
+++ b/doc/build/orm/extensions/index.rst
@@ -14,5 +14,6 @@ functionality to the core behavior.
declarative
orderinglist
horizontal_shard
+ hybrid
sqlsoup
diff --git a/lib/sqlalchemy/ext/hybrid.py b/lib/sqlalchemy/ext/hybrid.py
index 5bb158413..b49949071 100644
--- a/lib/sqlalchemy/ext/hybrid.py
+++ b/lib/sqlalchemy/ext/hybrid.py
@@ -42,25 +42,10 @@ or as the class itself::
@hybrid.method
def intersects(self, other):
- return (self.start < other.end) & (self.end > other.start)
+ return self.contains(other.start) | self.contains(other.end)
- mapper(Interval1, interval_table1)
- session = sessionmaker(engine)()
-
- session.add_all(
- [Interval1(1,4), Interval1(3,15), Interval1(11,16)]
- )
- intervals =
-
- for interval in intervals:
- session.add(interval)
- session.add(Interval2(interval.start, interval.length))
-
- session.commit()
-
- ### TODO ADD EXAMPLES HERE AND STUFF THIS ISN'T FINISHED ###
-
+
"""
from sqlalchemy import util
from sqlalchemy.orm import attributes, interfaces