1
插入一行到具有一個一對一關係的表ForeignKey的預防選擇查詢,你會在Django做到這一點:在主鍵時被稱爲
mypk=2 # Comes from the POST request
model=MyModel(myField="Hello", myForeignModel=ForeignModel.objects.get(pk=mypk))
model.save()
這將導致一個SELECT查詢後跟INSERT查詢。
但是,SELECT查詢並不是真的必要,因爲它將插入到外鍵字段中的mypk
。有沒有辦法讓Django插入主鍵而不做SELECT?
其次,這裏是否存在併發問題(如果在用戶提交請求之前主鍵會發生變化)。如果是這樣,這些如何處理?
好像你想在這之前加載'mypk'來驗證表單值是否有效,用戶是否有權限等。 – 2011-05-28 19:49:17
mypk存儲在Javascript中,並通過AJAX請求發送。所有用戶都有權限並且受到CSRF的保護。 – bcoughlan 2011-05-28 19:51:48