django模型类
模型类ORM? ? ? django中内嵌了ORM框架,ORM框架可以将类和数据表进行对应起来,只需要通过类和对象就可以对数据表进行操作。 在Django中主要是设计类:模型类。 ORM另外一个作用:根据设计的类生成数据库中的表。 模型类设计在应用models.py中设计模型类。 必须继承与models.Model类。 1)???? 设计BookInfo类。 2)???? 设计HeroInfo类。 Models.ForeignKey可以建立两个模型类之间一对多的关系,django在生成表的时候,就会在多端的表中创建一列作为外键,建立两个表之间一对多的关系。 模型类生成表1)? 生成迁移文件 命令:python manage.py makemigrations ? ? ? 迁移文件是根据模型类生成的。 2)? 执行迁移生成表 命令:python mange.py migrate 根据迁移文件生成表。 生成表名的默认格式: 应用名_模型类名小写 通过模型类操作数据表进入项目shell的命令: ?????? python manage.py shell 以下为在相互shell终端中演示的例子: 首先导入模型类: ?????? from booktest.models import BookInfo,HeroInfo 1) 向booktest_bookinfo表中插入一条数据。 ?????? b = BookInfo() #定义一个BookInfo类的对象 ?????? b.btitle =‘天龙八部‘ #定义b对象的属性并赋值 ?????? b.bpub_date = date(1990,10,11) ?????? b.save() #才会将数据保存进数据库 2) 查询出booktest_bookinfo表中id为1的数据。 ?????? b = BookInfo.objects.get(id=1) 3) 在上一步的基础上改变b对应图书的出版日期。 ?????? b.bpub_date = date(1989,21) ?????? b.save() #才会更新表格中的数据 4) 紧接上一步,删除b对应的图书的数据。 ?????? b.delete() #才会删除 5) 向booktest_heroInfo表中插入一条数据。 ?????? h = HeroInfo() ?????? h.hname = ‘郭靖‘ ?????? h.hcomment = ‘降龙十八掌’ ?????? b2 = BookInfo.objects.get(id=2) ?????? h.hbook = b2 ?#给关系属性赋值,英雄对象所属的图书对象 ?????? h.save() 6) 查询图书表里面的所有内容。 ?????? BookInfo.objects.all() ?????? HeroInfo.objects.all() 关联操作? ? 1) 查询出id为2的图书中所有英雄人物的信息。 ?????? b = BookInfo.objects.get(id=2) ?????? b.heroinfo_set.all() #查询出b图书中所有英雄人物的信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |