2015-05-28 3 views
0

У меня есть три модели Вопрос, Представление, UserResult. пользователи отправляют ответ на вопрос, этот ответ оценивается системой и сохраняется в представлении.атомная модель save в django

Оценка пользователя по одному вопросу является максимальной среди всех его представлений. Эта оценка сохраняется в модели UserResult (у нее есть три поля, внешний ключ для Вопроса, другой для пользователя и оценка, которая является целым числом)

Что я хочу сделать, так это убедиться, что при сохранении представления связанный UserResult обновляется. На самом деле лучше не хранить подачу, когда результат не обновляется. Таким образом, представление должно быть сохранено, только если UserResult будет обновлен правильно. Итак, весь этот процесс должен быть атомарным. Каков правильный способ справиться с этим?

+0

Проводка кода облегчит нам – Abhishek

+0

Я еще не закодировал это. Я хочу знать, что делать, прежде чем начинать код – Matrix

+0

В режиме сохранения, вызовите метод обновления UserResult и пометьте метод сохранения как '@ transaction.atomic'. – Gocht

ответ

2

В подходе save метод, UserResultupdate метод. И метод представления save в представлении «Представление» как @transaction.atomic. Затем, если при обновлении UserResult произошла ошибка, Submission не будет сохранен.

Смежные вопросы