首页 > 代码库 > Django model
Django model
- 通常每个model都映射到一张单独的表,自定义model的特点:
- 每个model都是一个继承自django.db.models.Model的class
- 每个model的attribute代表一个表的列值
- model中只包含与表列对应的field
- django会自动生成访问数据库的api
- 示例代码:
from django.db import modelsclass Person(models.Model):#models是module,CharField是class first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=30)
- 自动创建数据库表,表名默认为app name_model name,可以重命名
- 自动添加id字段作为主键,此行为也可以改写,相当于执行了id=models.AutoField(primary_key=true),如果显示指定了其他列为primary key,则不会自动添加id列
- 每个Model都要有一个primary_key=true的field
- 要通过manage.py migrate命令创建数据库表
- 关于字段(field):
- 每个字段都是Field class的子类对象,Field class是抽象类
- django通过field的类型确定表列的类型
- 确定用于显示field的html元素
- 有效性判断
- common filed arguments包括:
- null:默认是false,如果是true,则在数据库表中存储null值
- blank:默认是false,如果true,则存放空值
- choices:可以作为field值的tuple
- default:field的默认值,可以是一个值也可以是一个callable object
- primary_key:如果是ture,这个field是model的primary key
- unique:如果是true,field的值必须是唯一的
- help_text:帮助信息
Django model
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。