首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用ModelForms时如何更新现有行?

在使用Django的ModelForms时,要更新现有行,可以遵循以下步骤:

  1. 首先,确保已经安装并导入了Django的ModelForms模块。
  2. 在视图函数中,从数据库中获取要更新的对象。例如:
代码语言:python
复制
from django.shortcuts import get_object_or_404
from .models import MyModel

def update_row(request, id):
    my_object = get_object_or_404(MyModel, id=id)
  1. 使用ModelForm类创建一个表单实例,并将其传递给模板上下文。例如:
代码语言:python
复制
from .forms import MyModelForm

def update_row(request, id):
    my_object = get_object_or_404(MyModel, id=id)
    form = MyModelForm(request.POST or None, instance=my_object)
  1. 在视图函数中处理表单提交。如果表单有效,则保存更改并重定向到其他视图。例如:
代码语言:python
复制
from django.shortcuts import redirect

def update_row(request, id):
    my_object = get_object_or_404(MyModel, id=id)
    form = MyModelForm(request.POST or None, instance=my_object)

    if form.is_valid():
        form.save()
        return redirect('some_view')
  1. 最后,在模板中呈现表单。例如:
代码语言:html
复制
<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
   <button type="submit">Update</button>
</form>

通过这些步骤,您可以使用Django的ModelForms轻松地更新现有行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券