模型表单基本操作

简介: 【6月更文挑战第13天】模型表单基本操作。

模型表单指绑定到模型的表单。自定义的模型表单需扩展django.forms模块提供的ModelForm类。

模型表单基本操作包括定义模型、定义模型表单以及使用模型表单为数据库添加和修改数据。
模型代码如下。

models.py

from django.db import models
class person(models.Model):
name=models.CharField(max_length=8)
age=models.SmallIntegerField()
用于模型表单的模型与普通模型并没有任何区别。
模型表单代码如下。

views.py

from django.forms import ModelForm
from models import person
……
class personForm(ModelForm):
class Meta:
model = person
fields = ['name', 'age']
模型表单有两个特点:
必须继承django.forms.ModelForm类。
提供子类Meta。在Meta的model字段中绑定模型,在fields字段中设置在表单中使用的模型字段。
可以使用特殊值“all”表示使用模型全部字段,示例代码如下。
fields = 'all'
也可使用exclude属性来排除不使用的字段,示例代码如下。
exclude = ['age']
首先使用数据作为参数来创建模型表单,再调用表单的save()方法将数据写入数据库,示例代码如下。

from chapter7.models import person
from chapter7.views import personForm
one=personForm({'name':'张三','age':25}) #用初始化数据,创建模型表单对象
one.save() #保存表单


d=person.objects.all()[0] #获取数据库中的第1条记录,
d.name,d.age #查看数据
('张三', 25)

调用save()方法时,会将数据写入数据库,同时返回包含数据的模型对象。
在创建模型表单对象时,可使用instance参数指定模型对象,save()方法使用模型表单的数据修改模型对象,从而修改其关联的数据库记录,示例代码如下。

p=person.objects.get(id=1) #获取模型对象
p.name,p.age #查看数据
('张三', 25)
one=personForm({'name':'李四','age':30},instance=p) #创建关联模型对象的模型表单
one.save() #保存表单


p=person.objects.get(id=1)
p.name,p.age #通过模型对象查看修改后的数据
('李四', 30)

相关文章
|
10天前
|
数据处理 数据库
在视图中使用模型表单
【6月更文挑战第14天】在视图中使用模型表单。
29 14
|
1月前
第六章 利用数组处理批量数据
第六章 利用数组处理批量数据
19 0
|
1月前
|
数据可视化 数据挖掘 API
5 款热门的表单设计器推荐
5 款热门的表单设计器推荐
|
7月前
|
JavaScript 测试技术 Python
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
WebUI自动化测试中隐藏的元素如何操作?三种元素等待方式如何理解?
52 0
|
JavaScript 开发工具 开发者
(简易)测试数据构造平台:33 - 正文开始-工具使用功能
(简易)测试数据构造平台:33 - 正文开始-工具使用功能
|
安全 数据安全/隐私保护 对象存储
表单的 9 种设计技巧【上】
表单是信息添加、录入的通用形式,合理的表单设计能减轻用户负担。这里码匠提供了一些表单设计的简单技巧。
698 0
表单的 9 种设计技巧【上】
|
存储 前端开发 数据可视化
实现一个表单设计器我们需要知道的
表单功能一直是前端项目中比不可少的一块功能,如果有个项目需要在两个月内开发200个左右表单,那我们应该怎么办?加班加点也是能搞出来的,那质量有保证么,这是我们就需要开发一个可以通过可视化交互设计表单的功能。下面和大家分享下我在开发这款表单设计器时使用的技术能力以及整个的设计思路。
|
JavaScript 编译器 API
WebApi入门第七章(dom增删改页面元素)
WebApi入门第七章(dom增删改页面元素)
82 0
WebApi入门第七章(dom增删改页面元素)
|
JavaScript 前端开发
WebApi入门第二章(获取操作页面元素)
WebApi入门第二章(获取操作页面元素)
102 0
WebApi入门第二章(获取操作页面元素)
|
安全 数据库 数据安全/隐私保护
表单的 9 种设计技巧【下】
表单是信息添加、录入的通用形式,合理的表单设计能减轻用户负担。这里码匠提供的一些表单设计的简单技巧的下篇。
183 0
表单的 9 种设计技巧【下】