📅  最后修改于: 2023-12-03 14:40:46.916000             🧑  作者: Mango
在 Django 中,我们可以使用视图来更改模型字段的值。如果您需要更改一个布尔字段,在视图中进行更改也非常简单。
下面是更改布尔字段的基本步骤:
from myapp.models import MyModel
from django.views.generic import UpdateView
class MyUpdateView(UpdateView):
model = MyModel
template_name = "my_template.html"
form_class = MyForm
success_url = "/my_success_url/"
class MyUpdateView(UpdateView):
# ...
def form_valid(self, form):
obj = form.save(commit=False)
obj.boolean_field = not obj.boolean_field
obj.save()
return super().form_valid(form)
{{ form.boolean_field }}
下面是如何在 Django 中更改布尔字段的完整示例代码:
from myapp.models import MyModel
from django.views.generic import UpdateView
class MyUpdateView(UpdateView):
model = MyModel
template_name = "my_template.html"
form_class = MyForm
success_url = "/my_success_url/"
def form_valid(self, form):
obj = form.save(commit=False)
obj.boolean_field = not obj.boolean_field
obj.save()
return super().form_valid(form)
<!-- my_template.html -->
<form method="post">
{% csrf_token %}
{{ form.boolean_field }}
<button type="submit">Save</button>
</form>
在 Django 中更改布尔字段非常简单。通过创建一个继承 UpdateView 的视图,并使用 form_valid() 方法更新数据库中的相应字段,您可以轻松更改任何布尔字段的值。