Django细谈之:Model和ModelForm关联
来源:互联网 发布:淘宝购物车营销靠谱吗 编辑:程序博客网 时间:2024/04/27 13:57
Model(django.db.models.Model)
官方解释为A model is the single, definitive source of data about your data. It contains the essential fields and behaviors of the data you’re storing. Generally, each model maps to a single database table.
其实就是django提供给开发人员用于设计数据集的接口,model提供了多种数据类型,很好的提高了开发人员在数据集处理效率。一般而言,每一个数据集在后台数据库中都对应一个表单。数据表单可以通过django指令自动生成,当然用户也可以根据数据库需要自行设计表单,但是表单必须与Model数据集元素类型保持一定的对应关系。
ModelForm(django.forms.ModelForm)
如果开发人员需要设计以数据库驱动的应用,也就是说需要前端提交表单来修改后台数据库,这个时候就需要ModelForm。它实质上就是Model的表单抽象,可以在其内部做更复杂的操作,这些操作主要是针对表单数据的。
那么问题来了,模型(Model)和模型表单(ModelForm)是如何关联的呢?
每一个ModelForm都依托一个Model,需要先设计Model之后,在设计对应的ModelForm。
假设已定义好Model,如下
class Book(models.Model): name = models.CharField(max_length=100) authors = models.ManyToManyField(Author)则对应需要设计一个ModelForm
import Bookclass BookForm(ModelForm): class Meta: model=Book def clean_<fieldname>: ...
这样就建立了Model和ModelForm,代码在处理客户端POST请求时,将request导向某个函数,函数内部,使用
form = BookForm(request.POST, instance=None)就可以将表单转换为内部form对象了,在经过一些列的操作,诸如is_valid、clean_<fieldname>、pre_save信号处理等,就可以将表单数据保存了,方法
from.save()
0 0
- Django细谈之:Model和ModelForm关联
- Django之ModelForm组件
- Django Meta小节(二) 之ModelForm
- Django之Mode的外键自关联和引用未定义的Model
- django forms.modelform
- Django ModelForm的使用
- django modeladmin override ModelForm
- Django中的Form & ModelForm
- Django之Model操作
- Django的ModelForm简单用法
- django表单使用forms.ModelForm
- django admin ModelForm field 验证
- Django中modelform的使用
- Django学习指南之Model层
- Python Django model之字段
- Django-拆分model和view
- 关于django中ModelForm的instance
- 五. Django的forms与ModelForm
- openstack win7镜像制作并支持管理员登陆
- HMM(隐形马尔科夫模型)
- Symmetric Tree
- 553 relay check local fail. (本域用户必须通过验证) ----一个老项目发邮件问题
- 笔者带你剖析大数据存储HBase特性
- Django细谈之:Model和ModelForm关联
- TrueCrypt 使用经验[2]:关于加密
- no session or session was closed处理方法2
- iOS设计模式 - (2)UML类间关系精解
- 拖动效果
- Oculus Rift正式发售,准备好开始迈向VR时代
- Java基础资料
- VS2005 Debug版,dll /MTd,exe /MDd 跨dll使用CString的链接错误
- App Transport Security