]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- hybrid_and
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 25 Aug 2010 16:57:10 +0000 (12:57 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 25 Aug 2010 16:57:10 +0000 (12:57 -0400)
- move the update_wrapper to synonym for now, we can't assume the return value of hybrid.expr is an updateable wrapper

lib/sqlalchemy/ext/hybrid.py
lib/sqlalchemy/orm/properties.py

index 609f5aa8e56b9c279e58aef012476854d1008b86..e0b3dab4833fa240c1b10c014e891f2e3b42789e 100644 (file)
@@ -90,7 +90,7 @@ class property_(object):
 
     def __get__(self, instance, owner):
         if instance is None:
-            return util.update_wrapper(self.expr(owner), self)
+            return self.expr(owner)
         else:
             return self.fget(instance)
             
@@ -135,6 +135,9 @@ class Comparator(interfaces.PropComparator):
         # interesting....
         return self
         
-        
-        
-        
\ No newline at end of file
+
+def hybrid_and(self):
+    if isinstance(self, type):
+        return expression.and_
+    else:
+        return operator.and_
index e6afe8d6343739be325cee021cbfd9e0c24a7c62..61b7f8c1921293cde878122f787f9f32f9b03658 100644 (file)
@@ -292,7 +292,7 @@ class DescriptorProperty(MapperProperty):
                         lambda: self._comparator_factory(mapper)
                     )
         def get_comparator(owner):
-            return proxy_attr
+            return util.update_wrapper(proxy_attr, descriptor)
         descriptor.expr = get_comparator
         descriptor.impl = _ProxyImpl(self.key)
         mapper.class_manager.instrument_attribute(self.key, descriptor)