あるテーブルにデータを登録するときに使えるクラスベースビューとしてCreateViewというのがあります。
他の汎用クラスベースビューと同様に少しの記述で指定したテーブル(モデル)に対するデータの登録処理を書くことができます。
イメージとしては、対象となるモデルと更新対象のフィールド、登録画面のhtmlファイルのパス、更新成功した際のURLを指定するだけです。
from django.views.generic import CreateView
from django.urls import reverse_lazy
from .models import Book
class BookCreateView(CreateView):
template_name = 'book/create.html'
model = Book
fields = ['title', 'author', 'date']
success_url = reverse_lazy('book:index')
シンプルな更新処理の場合は、上記のコードのイメージで各必要項目を指定するだけでオッケーです。もし何かしら更新部分に処理を入れたい場合は、【form_valid】というメソッドが保存処理になるので、このメソッドをオーバーライドすれば自由に処理を追加することも可能です。