私はDjango1.3でクラスベースのビューを実装していますが、CreateView、UpdateView、およびDeleteViewがほぼ同じであるこのシナリオに自分自身を見つけました。単一のビューCreateUpdateViewまたはそのようなものだけでこれを実装する方法はありますか、それともこれはCBGVを実装するための標準的な方法ですか?
また、ThingyAddでは、ThingyEditのようにモデルを指定していませんが、どちらも正常に機能します。モデルは、ModelFormであるform_classのメタ部分であるThingyFormで定義されたモデルによって暗示/ピックアップされると想定しています。この仮定は正しいですか?
class ThingyAdd(AuthMixin, CreateView):
form_class = ThingyForm
context_object_name='object'
template_name='change_form.html'
success_url='/done/'
class ThingyEdit(AuthMixin, UpdateView):
model = Thingy
form_class = ThingyForm
context_object_name='object'
template_name='change_form.html'
success_url='/done/'
class ThingyDelete(AuthMixin, DeleteView):
model = Thingy
form_class = ThingyForm
context_object_name='object'
template_name='delete_confirmation.html'
success_url='/done/'