Ticket #3105: base.py.diff

File base.py.diff, 1.6 KB (added by Eric Van Dewoestine <ervandew@…>, 17 years ago)

django/db/models/base.py.diff

Line 
1*** base.py Wed Dec 6 08:58:14 2006
2--- base.py.new Wed Dec 6 08:58:09 2006
3***************
4*** 175,185 ****
5 (backend.quote_name(self._meta.db_table), backend.quote_name(self._meta.pk.column)), [pk_val])
6 # If it does already exist, do an UPDATE.
7 if cursor.fetchone():
8! db_values = [f.get_db_prep_save(f.pre_save(self, False)) for f in non_pks]
9 if db_values:
10 cursor.execute("UPDATE %s SET %s WHERE %s=%%s" % \
11 (backend.quote_name(self._meta.db_table),
12! ','.join(['%s=%%s' % backend.quote_name(f.column) for f in non_pks]),
13 backend.quote_name(self._meta.pk.column)),
14 db_values + [pk_val])
15 else:
16--- 175,186 ----
17 (backend.quote_name(self._meta.db_table), backend.quote_name(self._meta.pk.column)), [pk_val])
18 # If it does already exist, do an UPDATE.
19 if cursor.fetchone():
20! update_fields = [f for f in non_pks if f.update]
21! db_values = [f.get_db_prep_save(f.pre_save(self, False)) for f in update_fields]
22 if db_values:
23 cursor.execute("UPDATE %s SET %s WHERE %s=%%s" % \
24 (backend.quote_name(self._meta.db_table),
25! ','.join(['%s=%%s' % backend.quote_name(f.column) for f in update_fields]),
26 backend.quote_name(self._meta.pk.column)),
27 db_values + [pk_val])
28 else:
Back to Top