Django中ModelForm组件的介绍(代码示例)


当前第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可以做嵌入式吗

mac系统可以学Python

Python的用途有哪些?

Python django是什么

Python如何绘制心形

Python的int是什么

Python利用format方法保留三位小数

Python怎么新建文件夹

怎么安装iPython

Python中的条件语句怎么写02:同时判断与简单的语句组

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...