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,如下