1
私のプロジェクトでは、cx_Oracleを使用してOracleデータベースからデータを収集し、cx_Oracleカーソルの結果とモデルを持つSQLiteデータベースのデータを比較する必要があります。cx_oracle cursorの値とdjangoクエリーセットの比較
def GetParams(self):
repo_params = Parameters.objects.filter(dbid=self.dbid).only('name','value')
sql = ("select name, value from v$parameter")
self.cur.execute(sql)
res = self.cur.fetchall()
repo_params = list(repo_params)
parameters = []
for i in res:
if i[1] not in repo_params:
new_param = Parameters(name=i[1],value=i[2])
parameters.append(new_param)
if len(parameters) > 0:
Parameters.objects.bulk_create(parameters)
しかし、私は実際に何をしたいカーソルから1で私のSQLiteデータベース内の既存のコンテンツをマージすることです:
は、私は以下の行方不明のパラメータを追加するために動作するコードを持っています。既存のパラメータが異なる値で存在する場合は、その値を更新する必要があります。新しいパラメータの場合は、作成する必要があります。これを行う最善の方法は何ですか?私はRAW SQLを使用してMERGEを行う必要がありますか?
ありがとうございました