Django在视图中从db查询初始表单值。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django在视图中从db查询初始表单值。相关的知识,希望对你有一定的参考价值。

我想在视图中设置初始值以进行编辑。例如,我想编辑已经存储在数据库中的书,设置数据库查询的初始值。这在django中是否可行?

views.py。

from .models import Book
from .forms import BookForm

def edit_book(request,book_id):
    query_book=Book.objects.get(pk=book_id)
    Book_form_to_edit =BookForm(initial=query_book)
    context={
    'book_form':Book_form_to_edit,
    }
    return render(request,'edit_book.html',context)

Thank you in advance.

答案

是的,可以尝试参考下面的代码。我已经编辑了你的代码,所以你会抓住一些想法。

from .models import Book
from .forms import BookForm

def edit_book(request,book_id):
    query_book=Book.objects.get(pk=book_id)
    Book_form_to_edit =BookForm(request.POST, instance=query_book)

    if Book_form_to_edit.is_valid():
      Book_form_to_edit.save()

    context={
      'book_form':Book_form_to_edit,
    }
    return render(request,'edit_book.html',context)

并在url.py中确保得到book_id。

path('<int:book_id>/Edit/', views.edit_view, name='edit')

以上是关于Django在视图中从db查询初始表单值。的主要内容,如果未能解决你的问题,请参考以下文章

表单初始化后Django设置字段值

如何在 db2 查询中从字符串中获取特定值

如何在主活动中正确检索片段中的视图

如何在 ViewPager 中从 Activity 移动到 Fragment?未找到片段 ID 的视图

如何在 1 个查询中从 Mongo DB 获取最小值和最大值? C#

Django 表单集中每个表单的不同初始数据