保存在django中的原子模型
atomic model save in django
我有三个模型问题、提交、用户结果。用户提交问题的答案,这个答案由系统评分并存储在提交中。
在所有 his/her 个提交中,用户对一个问题的评分最高。这个分数保存在一个名为 UserResult 的模型中(它有三个字段,一个是问题的外键,另一个是用户的外键和一个整数分数)
我想做的是确保在保存提交时更新相关的 UserResult。实际上最好不要在结果未更新时存储提交。因此,只有在正确更新 UserResult 时才应保存提交。所以这整个过程应该是原子的。处理此问题的正确方法是什么?
在提交的save
方法中,调用UserResult
update
方法。并将 Submission 的 save
方法标记为 @transaction.atomic
。那么如果在更新UserResult时发生错误,Submission将不会被保存。
我有三个模型问题、提交、用户结果。用户提交问题的答案,这个答案由系统评分并存储在提交中。
在所有 his/her 个提交中,用户对一个问题的评分最高。这个分数保存在一个名为 UserResult 的模型中(它有三个字段,一个是问题的外键,另一个是用户的外键和一个整数分数)
我想做的是确保在保存提交时更新相关的 UserResult。实际上最好不要在结果未更新时存储提交。因此,只有在正确更新 UserResult 时才应保存提交。所以这整个过程应该是原子的。处理此问题的正确方法是什么?
在提交的save
方法中,调用UserResult
update
方法。并将 Submission 的 save
方法标记为 @transaction.atomic
。那么如果在更新UserResult时发生错误,Submission将不会被保存。