summaryrefslogtreecommitdiff
path: root/day9/task5_vue/backend/database/wrappers.py
diff options
context:
space:
mode:
authorAndrew <saintruler@gmail.com>2019-07-24 15:41:54 +0400
committerAndrew <saintruler@gmail.com>2019-07-24 15:41:54 +0400
commitd475ee2999a1fd43c03518100bd55b0929acc5d9 (patch)
tree68ef3635a349c8f749c6e21ec853574bbf4e9f8c /day9/task5_vue/backend/database/wrappers.py
parente38a785445b12b696beefb4cfef815ecfe89711d (diff)
Добавлен новый тип всплывающих сообщений.
Исправлена генерация UPDATE запросов в mysql обертке.
Diffstat (limited to 'day9/task5_vue/backend/database/wrappers.py')
-rw-r--r--day9/task5_vue/backend/database/wrappers.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/day9/task5_vue/backend/database/wrappers.py b/day9/task5_vue/backend/database/wrappers.py
index d380b2e..d7dc6d4 100644
--- a/day9/task5_vue/backend/database/wrappers.py
+++ b/day9/task5_vue/backend/database/wrappers.py
@@ -90,17 +90,25 @@ class MySQLWrapper(Wrapper):
self.connection.commit()
def update(self, table_name, expressions, conditions):
+ scheme = self.schemes[table_name]
expressions_formatted = []
+
for field_name, value in expressions.items():
- if value != 'NULL' or not value.isnumeric():
- value = f'"{value}"'
- expressions_formatted.append(f'`{field_name}`={value}')
+ if scheme.fields[field_name].nullable and value is None:
+ expressions_formatted.append(f'`{field_name}`=NULL')
+ elif scheme.fields[field_name].data_type == str:
+ expressions_formatted.append(f'`{field_name}`="{value}"')
+ else:
+ expressions_formatted.append(f'`{field_name}`={value}')
conditions_formatted = []
for field_name, value in conditions.items():
- if value != 'NULL' or not value.isnumeric():
- value = f'"{value}"'
- conditions_formatted.append(f'`{field_name}`={value}')
+ if scheme.fields[field_name].nullable and value is None:
+ conditions_formatted.append(f'`{field_name}`=NULL')
+ elif scheme.fields[field_name].data_type == str:
+ conditions_formatted.append(f'`{field_name}`="{value}"')
+ else:
+ conditions_formatted.append(f'`{field_name}`={value}')
with self.connection.cursor() as cursor:
cursor.execute("UPDATE `{}` SET {} WHERE {};".format(