Changeset 3002
- Timestamp:
- 05/29/06 12:08:58 (3 years ago)
- Files:
-
- django/trunk/django/db/models/base.py (modified) (2 diffs)
- django/trunk/django/db/models/fields/__init__.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/base.py
r2970 r3002 162 162 # If it does already exist, do an UPDATE. 163 163 if cursor.fetchone(): 164 db_values = [f.get_db_prep_save(f.pre_save( getattr(self, f.attname), False)) for f in non_pks]164 db_values = [f.get_db_prep_save(f.pre_save(self, False)) for f in non_pks] 165 165 cursor.execute("UPDATE %s SET %s WHERE %s=%%s" % \ 166 166 (backend.quote_name(self._meta.db_table), … … 172 172 if not pk_set or not record_exists: 173 173 field_names = [backend.quote_name(f.column) for f in self._meta.fields if not isinstance(f, AutoField)] 174 db_values = [f.get_db_prep_save(f.pre_save( getattr(self, f.attname), True)) for f in self._meta.fields if not isinstance(f, AutoField)]174 db_values = [f.get_db_prep_save(f.pre_save(self, True)) for f in self._meta.fields if not isinstance(f, AutoField)] 175 175 # If the PK has been manually set, respect that. 176 176 if pk_set: 177 177 field_names += [f.column for f in self._meta.fields if isinstance(f, AutoField)] 178 db_values += [f.get_db_prep_save(f.pre_save( getattr(self, f.column), True)) for f in self._meta.fields if isinstance(f, AutoField)]178 db_values += [f.get_db_prep_save(f.pre_save(self, True)) for f in self._meta.fields if isinstance(f, AutoField)] 179 179 placeholders = ['%s'] * len(field_names) 180 180 if self._meta.order_with_respect_to: django/trunk/django/db/models/fields/__init__.py
r2860 r3002 153 153 return self.__class__.__name__ 154 154 155 def pre_save(self, value, add):155 def pre_save(self, model_instance, add): 156 156 "Returns field's value just before saving." 157 return value157 return getattr(model_instance, self.attname) 158 158 159 159 def get_db_prep_save(self, value): … … 418 418 return Field.get_db_prep_lookup(self, lookup_type, value) 419 419 420 def pre_save(self, value, add):420 def pre_save(self, model_instance, add): 421 421 if self.auto_now or (self.auto_now_add and add): 422 return datetime.datetime.now() 423 return value 422 value = datetime.datetime.now() 423 setattr(model_instance, self.attname, value) 424 return value 425 else: 426 return super(DateField, self).pre_save(model_instance, add) 424 427 425 428 def contribute_to_class(self, cls, name): … … 724 727 return Field.get_db_prep_lookup(self, lookup_type, value) 725 728 726 def pre_save(self, value, add):729 def pre_save(self, model_instance, add): 727 730 if self.auto_now or (self.auto_now_add and add): 728 return datetime.datetime.now().time() 729 return value 731 value = datetime.datetime.now().time() 732 setattr(model_instance, self.attname, value) 733 return value 734 else: 735 return super(TimeField, self).pre_save(model_instance, add) 730 736 731 737 def get_db_prep_save(self, value):
