7.Django模型类的定义和管理】的更多相关文章

Django的模型类是给ORM层服务的 1.每个数据模型都是django.db.models.Model的子类. 2.它的父类Model包含了所有必要的和数据库交互的方法,并提供了定义数据库字段的语法. 3.每个模型相当于一个数据库表(这条规则的例外情况是多对多关系,多对多关系的时候会多生成一张关系表), 4.每个属性是表中的一个字段.属性名就是字段名,类型就是字段类型 5.模型之间的三种关系 一对一(OneToOneField) 一对多(ForeignKey) 多对多(ManyToMangFi…
一.插入.更新和删除 调用一个模型类对象的save方法的时候就可以实现对模型类对应数据表的插入和更新. 调用一个模型类对象的delete方法的时候就可以实现对模型类对应数据表数据的删除. 二.自关联 自关联是一种特殊的一对多的关系. [案例]:显示广州市的上级地区和下级地区. 地区表:id, atitle, aParent_id; mysql终端中批量执行sql语句:source areas.sql; 第1步,添加地区模型类 app1/models.py [关系属性],代表当前地区的父级地区 c…
概述 Django对各种数据库提供了很好的支持,Django为这些数据库提供了统一的调用API,可以根据不同的业务需求选择不同的数据库. 模型.属性.表.字段间的关系 一个模型类在数据库中对应一张表,在模型类中定义的属性,对应该模型对照表中的一个字段. Object Relational Mapping(ORM)对象-关系-映射 作用:根据对象的类型生成表结构,将对象.列表的操作转换为sql语句,将sql语句查询到的结果转换为对象.列表,极大的减轻了开发人员的工作量,不需要面对因数据库的变更而修…
一.创建数据模型. 实例: 作者模型:一个作者有姓名. 作者详情模型:把作者的详情放到详情表,包含性别.email 地址和出生日期,作者详情模型与作者模型之间是一对一的关系(OneToOneField) 出版商模型:出版商有名称,地址,所在城市,省,国家,网址. 书籍模型:书籍有书名,出版日期,价格.一本书可能会有多个作者,一个作者也可以写多本书,所以作者与书籍的关系是多对多的关联关系(many-to-many),一本书只应该由一个出版商出版,所以出版商和书籍是一对多的关联关系(one-to-m…
转自:https://my.oschina.net/liuyuantao/blog/751337 简介 使用内部的class Meta 定义模型的元数据,例如: from django.db import models class Ox(models.Model): horn_length = models.IntegerField() class Meta: ordering = ["horn_length"] verbose_name_plural = "oxen&quo…
模型类 ORM django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作. 在Django中主要是设计类:模型类. ORM另外一个作用:根据设计的类生成数据库中的表. 模型类设计 在应用models.py中设计模型类. 必须继承与models.Model类. 1)     设计BookInfo类. 2)     设计HeroInfo类. from django.db import models # Create your models he…
报错: You are trying to add a non-nullable field 'BookName' to BookInfo without a default; we can't do that (the database needs something to populate existing rows). Please select a fix: 1) Provide a one-off default now (will be set on all existing row…
这里定义4个模型 作者:一个作者有姓名 作者详情:包括性别,email,出生日期, 出版商:名称,地址,城市,省,国家,网站 书籍:名称,日期 分析: 作者详情和作者一对一的关系 一本书可以有多个作者,一个作者可以写多本书,作者和书籍多对多关系 一本书只由一个出版商出版,一个出版商可以出版多本书,所以出版商和是一对多 步骤: 1.编写models.py文件: from django.db import models # Create your models here.class Publishe…
models之字段类型和参数 示例: # class Test(models.Model): # courses_test # """测试学习用""" # # Auto = models.AutoField() # 自增长字段 # # BigAuto = models.BigAutoField() # # # 二进制数据 # Binary = models.BinaryField() # # # 布尔型 # Boolean = models.Bo…
null 不设置时默认设置为False.设置为True时,数据库表字段中将存入NULL的记录. null和blank组合使用,null=True,blank=True,表示该字段可以为空 blank 默认设置为False.设置为True时,表字段许可无任何输入.设置为False 时,表字段为必须输入的字段 choices 备选设置.选择列表选项,如果设置后,该字段的表单必然会是下拉选择的.这个值必须是一个有小括号构成的元组,每个元组前一个字段将存入数据库,后一个字段是显示给用户看的. defau…