如何在一个 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):
?如果没有,我该怎么办?
答案 0 :(得分:0)
您可以通过创建不同的表单并为其指定不同的名称,然后按名称在视图中处理这些表单来实现(使用if)。假设删除它会删除对象并重定向到该页面,而提交表单则会创建对象并重定向。