私はThesisLink
を提出できるアプリケーションを構築しています。これには、修士論文または博士論文のメタデータが含まれています。論文リンクが公開される前に、査読エディタはフィールドを変更する(例えば、壊れたリンクの場合)か、論文リンクを完全に拒否する必要があります。投稿者は、論文リンクが承認されたとき、特定の変更が加えられたときに拒否されたときに郵送されるべきである。Djangoの追加フィールドを含むUpdateView
UpdateView
のように、モデルのすべてのフィールドが既に記入されており、審査エディタで編集できるようにしたいとの結論に達しました。しかし、モデルにないフィールド(refusal_reason
、またはeditor_comment
など)も必要です。そして、私は変更が起こったときにメールでユーザーに通知したい。
更新ビューを拡張するにはどうすればよいですか?または、UpdateView
を完全に放棄して、FormView
の上に何かを作成する必要がありますか?
これは私がこれまで持っているものです。
# urls.py
urlpatterns = [
url(r'^vet_thesislink/(?P<pk>[0-9]+)/$', views.VetThesisLink.as_view(), name='vet_thesislink')
]
# views.py
@method_decorator(permission_required(
'scipost.can_vet_thesislink_requests', raise_exception=True), name='dispatch')
class VetThesisLink(UpdateView):
model = ThesisLink
fields = ['type', 'discipline', 'domain', 'subject_area',
'title', 'author', 'supervisor', 'institution',
'defense_date', 'pub_link', 'abstract']
template_name = "theses/vet_thesislink.html"
、テンプレートで:
# templates/theses/vet_thesislink.html
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Update" />
</form>