]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
dont create dependency processor if viewonly=True
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 8 Oct 2006 21:17:54 +0000 (21:17 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 8 Oct 2006 21:17:54 +0000 (21:17 +0000)
lib/sqlalchemy/orm/properties.py

index 11c61246747d5d60672329a543e22b9480c60581..3d4006e2f08b5a749ebb1020976b908ae2541710 100644 (file)
@@ -183,7 +183,8 @@ class PropertyLoader(StrategizedProperty):
         if self.uselist is None:
             self.uselist = True
         
-        self._dependency_processor = dependency.create_dependency_processor(self)
+        if not self.viewonly:
+            self._dependency_processor = dependency.create_dependency_processor(self)
             
         # primary property handler, set up class attributes
         if self.is_primary():
@@ -281,7 +282,8 @@ class BackRef(object):
                 raise exceptions.ArgumentError("Backrefs do not match:  backref '%s' expects to connect to %s, but found a backref already connected to %s" % (self.key, str(parent.class_), str(mapper.props[self.key].mapper.class_)))
             if not mapper.props[self.key].is_backref:
                 prop.is_backref=True
-                prop._dependency_processor.is_backref=True
+                if not prop.viewonly:
+                    prop._dependency_processor.is_backref=True
     def get_extension(self):
         """returns an attribute extension to use with this backreference."""
         return attributes.GenericBackrefExtension(self.key)