@api_view(['PUT'])
def updateRule1(request, id):
nums15 = 'OK'
json_data = json.loads(request.body)
# print(json_data)
con = None
cur = None
try:
con = cx_Oracle.connect('<server connection details>')
cur = con.cursor()
except cx_Oracle.DatabaseError as e:
print("Problem establishing connection with Oracle DB", e)
q = "INSERT INTO XXMSE.RE_PREDICATE (RULE_ID, PREDICATE_ID, INPUT_VALUE_ID1,
MATHEMATICAL_VALUE, INPUT_VALUE_ID2, BOOLEAN_OPERATOR) VALUES
('1','2','2000000','equals','30000000','None')"
print(q)
sql5 = cur.execute(q)
cur.execute(sql5)
con.commit()
if cur:
cur.close()
if con:
con.close()
return Response(nums15)
資料庫截圖 |ID |Idx|Value_1 |Operator|Value_2 |Boolean | |---|---|---------|--------|-----------|--------| |1 |1 |1 |等于 |2 |AND | |1 |2 |2000000 |等于 |30000000 |無 |
|1 |2 |2000000 |等于 |30000000 |無 |
我看到有 2 行插入到資料庫中。Django 版本是 4.1.1
重復行的原因是什么?感謝你的幫助
我使用了 breakpoint() 并確保呼叫 api 一次。后端沒有重復的條目。
uj5u.com熱心網友回復:
你打了兩次電話cur.execute(...)。不知道你想做什么,但我認為兩次條目可能來自這一行
uj5u.com熱心網友回復:
似乎您在代碼中呼叫了兩次執行函式
sql5 = cur.execute(q)
cur.execute(sql5)
洗掉第二行將解決問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/529149.html
標籤:djangooracle-sqldeveloperpython-oracledb
上一篇:如何在PythonDjango中訪問SimpleArrayField的內容
下一篇:如何從視圖呼叫驗證函式到模板?
