QオブジェクトのリストからM個のオブジェクトを取得し、M個のオブジェクトをユーザーにマップする必要があります。djangoトランザクションで複数のオブジェクトを作成するには?
def polls(request, template_name='polls/polls.html'):
question_list = random.sample(list(Question.objects.all()), 3)
try:
with transaction.atomic():
for question in question_list:
UserToQuestion.objects.create(
user=request.user.id,
question=question.id
)
except IntegrityError:
handle_exception()
が、私はこれを達成することができますどのようにこれを達成するために、私は、トランザクション内のコードを実行し、Mオブジェクトの1が作成されていない場合にはDBをロールバックする必要がありますか?例外の処理方法djangoのドキュメンテーションは、実際の例を示していません。
登録ユーザーがN個の質問にマッピングされるようにsaveメソッドをオーバーライドするユーザー登録の際に、このタスクを実行することもできます。
をロードし、私はあなたの提案を追加し、質問を編集しますが、信号が – realnot
検索をトリガされませんインターネットやgithub上の作業コードは、あなたが正しいことをしていない見てください。 –
https://coderwall.com/p/ktdb3g/django-signals-an-extremely-simplified-explanation-for-beginners –