模型是一个定义数据源的数据,它包含要存储数据的一些属性和行为。通常,每一个模型对应数据库中的一个数据表。
每一个模型是django.db.models.Model的子类
每一个模型属性代表数据表的一个字段。
Django提供了自动生成的数据库访问API,使用模型操作数据库很方便
模型案例
下面的代码定义了Person模型,有first_name和last_name:
from django.db import models class Person(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)
first_name和last_name代表模型的field(属性),每一个属性对应到数据表的一个列,上面的模型代码对应的数据表将是如下:
CREATE TABLE myapp_person ( "id" serial NOT NULL PRIMARY KEY, "first_name" varchar(30) NOT NULL, "last_name" varchar(30) NOT NULL );
表名称前缀 myapp 是在配置文件中配置的,可以覆盖
id元素是自动添加的,也可以做一些自定义的操作
这里的语句使用的是PostgreSQL语法,在settings.py中配置其它类型的数据库,可以生成对应数据库的语法
使用模型
当你定义好模型之后,你需要告诉Django你要用这些模型了,通过修改settings.py文件中INSTALLED_APPS部分来添加新的模块名称,包含刚定义的model。
# Application definition INSTALLED_APPS = [ 'myqpp', ... ]
添加新的模块之后,不要忘了运行迁移命令是模型生效。
python manage.py migrage
模型属性(Field)
Field是模型中最重要的部分,也是必须要有的部分。它定义了 Python 模型与数据表之间的对应关系。
注意定义属性名称时不要使用有冲突含义的字段名称。如save,clean,delete
Field Type
模型的每一个属性都应该是 Field 类的实例,Django使用Field类处理如下事情:
数据表 column 列的类型,Interger,VARCHAR, TEXT
字段验证validate。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!