2015-05-28 56 views
0

我有三個模型問題,提交,UserResult。用戶提交問題答案,該答案由系統評分並存儲在提交中。原子模型保存在Django

用戶對一個問題的分數在他/她的所有提交中都是最大的。這個分數被保存在一個名爲UserResult的模型中(它有三個字段,問題的外鍵和用戶的另一個分數以及分數,它是一個整數)

我想要做的是確保何時保存提交相關的UserResult被更新。事實上,最好不要在結果未更新時存儲提交。因此,只有在UserResult更新正確的情況下才能保存提交。所以這整個過程應該是原子的。處理這個問題的正確方法是什麼?

+0

發帖代碼會讓我們更容易 – Abhishek

+0

我還沒有編碼。我想知道在開始編碼之前要做什麼 – Matrix

+0

在提交保存中,調用UserResult更新方法,並將save方法標記爲「@ transaction.atomic」。 – Gocht

回答

2

在提交的save方法中,調用UserResultupdate方法。並將提交的save方法標記爲@transaction.atomic。如果在更新UserResult時發生錯誤,提交將不會被保存。