Перезапись/замена вместо обновления таблицы MySql в проекте Django
Допустим, у меня есть df1
, который извлекается из базы данных MySql в проекте django:
import pandas as pd
df1 = pd.DataFrame({'Name': ['John', 'Jim']
,'City': ['A', 'B'],'Project_id': 1})
df1
Затем моя функция в django добавляет две строки:
line_insert = pd.DataFrame({'Name': ['Jack', 'Jill']
,'City': ['C', 'D']})
df1 = df1.append(line_insert).reset_index(drop=True)
df1
Теперь я хочу сохранить этот кадр данных обратно в таблицу в базе данных.
Мой текущий код обновляет sql таблицу строка за строкой (где Project_id = 1
), но я хочу заменить dataframe с тем же Project_id
Мой текущий код для обновления таблицы следующий (для упрощения я сначала определил некоторые переменные):
proj_id = 1
iincreament_id = 1
for index, df_series in df1.iterrows():
dict_df = df_series.to_dict()
""" Insertig dataframe into dict """
dict_df['Projectid_id'] = proj_id
""" updating SQL DB """
sql_db.objects.filter(id=iincreament_id,Project_id=proj_id).update(**dict_df)
iincreament_id += 1
Итак, это обновляет значения строк 1 и 2 новыми значениями, но не заменяет sql-таблицу новой таблицей, чтобы внести строки 3 и 4.
Есть ли идеи по поводу replace
функции, использующей .objects
функции с python/django?
Большое спасибо!