Django form表单中的 form.save(commit=False)用法

最近在用Django,做个关于表单的笔记

form = NewTopicForm(request.POST) #form是包含topic类的一个实例
        if form.is_valid():
            subject = form.cleaned_data.get('subject')
            topic = form.save(commit=False)#生成一个Topic类的实例对象
            topic.subject = subject
            topic.board = board
            topic.starter = user

            topic.save()

当你通过表单获取你的模型数据,但是需要给模型里null=False字段添加一些非表单的数据,该方法会非常有用。如果你指定commit=False,那么save方法不会理解将表单数据存储到数据库,而是给你返回一个当前对象。这时你可以添加表单以外的额外数据,再一起存储。

你可能感兴趣的:(python学习笔记,django,python)