@@ -6916,7 +6916,8 @@ def python_value(self, value):
69166916 def bind (self , model , name , set_attribute = True ):
69176917 self .model = model
69186918 self .column_name = self .name = self .safe_name = name
6919- setattr (model , name , self .accessor_class (model , self , name ))
6919+ if set_attribute :
6920+ setattr (model , name , self .accessor_class (model , self , name ))
69206921
69216922
69226923class CompositeKey (MetaField ):
@@ -6977,7 +6978,8 @@ def __sql__(self, ctx):
69776978 def bind (self , model , name , set_attribute = True ):
69786979 self .model = model
69796980 self .column_name = self .name = self .safe_name = name
6980- setattr (model , self .name , self )
6981+ if set_attribute :
6982+ setattr (model , self .name , self )
69816983
69826984
69836985class _SortedFieldList (object ):
@@ -7533,7 +7535,7 @@ def fields_to_index(self):
75337535
75347536 def set_database (self , database ):
75357537 self .database = database
7536- self .model ._schema ._database = database
7538+ self .model ._schema .database = database
75377539 del self .table
75387540
75397541 # Apply any hooks that have been registered. If we have an
@@ -8256,7 +8258,7 @@ def adapt(self, value): return self.field.adapt(value)
82568258 def python_value (self , value ): return self .field .python_value (value )
82578259 def db_value (self , value ): return self .field .db_value (value )
82588260 def __getattr__ (self , attr ):
8259- return self . source if attr == 'model' else getattr (self .field , attr )
8261+ return getattr (self .field , attr )
82608262
82618263 def __sql__ (self , ctx ):
82628264 return ctx .sql (Column (self .source , self .field .column_name ))
0 commit comments