当前第2页 返回上一页
1 2 3 4 5 6 7 | model = models.Book # 对应的Model中的类
fields = "__all__" # 字段,如果是__all__,就是表示列出所有的字段
exclude = None # 排除的字段
labels = None # 提示信息
help_texts = None # 帮助提示信息
widgets = None # 自定义插件
error_messages = None # 自定义错误信息
|
ModelForm的验证
与普通的Form表单验证类型类似,ModelForm表单的验证在调用is_valid() 或访问errors 属性时隐式调用。
我们可以像使用Form类一样自定义局部钩子方法和全局钩子方法来实现自定义的校验规则。
如果我们不重写具体字段并设置validators属性的化,ModelForm是按照模型中字段的validators来校验的。
save()方法
每个ModelForm还具有一个save()方法。 这个方法根据表单绑定的数据创建并保存数据库对象。 ModelForm的子类可以接受现有的模型实例作为关键字参数instance;如果提供此功能,则save()将更新该实例。 如果没有提供,save() 将创建模型的一个新实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> from myapp.models import Book
>>> from myapp.forms import BookForm
# 根据POST数据创建一个新的form对象
>>> form_obj = BookForm(request.POST)
# 创建书籍对象
>>> new_ book = form_obj.save()
# 基于一个书籍对象创建form对象
>>> edit_obj = Book.objects.get(id=1)
# 使用POST提交的数据更新书籍对象
>>> form_obj = BookForm(request.POST, instance=edit_obj)
>>> form_obj.save()
|
以上就是Django中ModelForm组件的介绍(代码示例)的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
Python pyqt4实现qq抽屉效果
Python是非开源语言吗
Python和c语言哪个好
在Python中如何获取字符串的长度
Python model怎么用
Python中怎么安装pip工具?
用Python画月亮的代码是什么?
vs2017怎么编写Python代码
Python 使用pil numpy 实现拼接图片
Python如何在非创建全局变量的地方使用全局变量
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Django中ModelForm组件的介绍(代码示例)