Python歴一か月

仮に

ToDoリストのタスク完了画面を想定
ブラウザの一つの画面から3つのボタンが用意されてる。
ボタン3つ処理が異なる。
 1つめのボタン
  選択された完了タスクをToDoリストに戻す。
 2つめのボタン
  選択された完了タスクをDB上から削除。
 3つめのボタン
  完了タスクをすべてDBから削除
現在のコード

class task_end(TemplateView):
""" タスク完了画面"""
def get(self,request):
   省略


def post(self, request):
    """各POSTからのボタンに対する処理"""

    # 完了したタスクを ToDoリストに戻す
    if 'task_in' in request.POST:
        tasks = task.objects.get(id=request.POST['id'])
        tasks.status = False
        tasks.save()

    # 完了したタスクを1件をDBから削除
    elif 'task_delete' in request.POST:
        tasks = task.objects.get(id=request.POST['id'])
        tasks.delete()

    # 完了したタスクのリスト全てを削除
    elif 'task_all_delete' in request.POST:
        tasks = task.objects.all().filter(users=request.session['u_s_id'], status=True)
        tasks.delete()

    return redirect('task_end')

この場合ブラウザからのPOST処理に対して、if文で処理を分岐しています。
実際ブラックボックスで動かすと問題はないのですが、本当にこのような分岐方法でいいのか?

他に間違いなくいい方法があると思います。
もしよろしければアドバイス等よろしくお願いします。