【发布时间】:2018-07-27 10:06:40
【问题描述】:
如何在一个 views.py 中添加新实例、删除实例和更新模型实例?
目前我的 views.py 看起来像这样:
class BHA_UpdateView(UpdateView):
template_name = 'bha_test.html'
model = BHA_List
pk_url_kwarg = 'pk_alt'
fields = '__all__'
我知道我可以使用表单更新当前模型实例:
<form method="POST">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" class='btn btn-primary' value="Submit">
</form>
但是如果我想在同一个页面上进行删除、创建和更新呢?如果我想在单个页面中添加、删除和更新模型实例,我不确定该怎么做。
理想情况下,如果用户点击页面上的Delete,或Create,Update 按钮,将显示一个模式屏幕,在该模式屏幕内,用户将能够做任何他想做的事情去做。
我该怎么办?是否可以继承多个 CBV,例如:class BHA_UpdateView(UpdateView, CreateView, DeleteView):?如果没有,我该怎么办?
【问题讨论】:
-
看这里;您可以覆盖
CreateView(或UpdateView)并在form_valid中执行其他操作:stackoverflow.com/questions/32998300/…
标签: django django-models django-forms django-views django-class-based-views