Django基础——Model篇(一)】的更多相关文章

一 Django ORM中的概念 ORM —— 关系对象映射,是Object Relational Mapping的简写,是用来简化数据库操作的框架 Django ORM遵循Code Frist原则,即根据代码中定义的类来自动生成数据库表,对于ORM框架:  (1)自定义的类表示待创建数据库的表  (2)根据自定义类创建的对象obj表示数据库表中的一行数据  (3)obj.字段1.obj.字段2.....obj.字段n表示每一行数据中相应字段的值 ORM中的一对多.一对一以及多对多的概念及应用场…
一 Model连表关系 一对多:models.ForeignKey(其他表)    多对多:models.ManyToManyField(其他表)    一对一:models.OneToOneField(其他表)    一般在数据库中创建外键关联时,就有一对多或者多对多,而一对一是Django独有的. 应用场景:    一对多:当一张表中创建一行数据时,有一个单选的下拉框(下拉框中内容,可被重复选择)    例如:创建用户信息时,需要选择一个用户类型:普通用户.金牌用户.铂金用户等.      …
到目前为止,当程序涉及到数据库相关操作时,我们一般都会这么操作:    (1)创建数据库,设计表结构和字段    (2)使用MySQLdb来连接数据库,并编写数据访问层代码    (3)业务逻辑层去调用数据访问层,执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user=', host='localhost') cursor = db.cursor() cursor.execute(sql) data = cursor.…
目录 1.Django MTV框架简介 2.基础命令创建项目的配置说明 3.前后端交互案例 4.基于数据库实现数据交互增删改查 Django简介 Django框架的设计模式借鉴了MVC的思想,和MVC不同的点是它拆分的三部分,分别为:(Model)模型. (Template)模板.以及(View)视图 MVC和MTV知识点补充: MVC是三个单词的首字母缩写,它们是Model模型.View视图 和Controller控制. 1)最上面的一层,是直接面向最终用户的"视图层"(View).…
一.数据库配置 django 默认支持sqlite.mysql.oracle.postgresql数据库,像db2和sqlserver之类的数据库需要第三方的支持,具体详见https://docs.djangoproject.com/en/1.10/ref/databases/ 一.环境准备 1.创建项目 1.使用命令创建项目和应用 创建项目:django-admin startprojcet xxx 创建应用:python manage.py startapp app01 启动应用:pytho…
注意:使用原生sql的方式主要目的是解决一些很复杂的sql不能用ORM的方式写出的问题. 一.extra:结果集修改器-一种提供额外查询参数的机制 二.执行原始sql并返回模型实例 三.直接执行自定义SQL:这种方式完全不依赖model,前面两种还是要依赖model 1.使用extra:查询人民邮电出版社出版并且价格大于50元的书籍 >>> Book.objects.filter(publisher__name='人民邮电出版社').extra(where=['price>50']…
接着前面的例子,举例聚集查询和分组查询例子如下: 1.查询人民邮电出版社出了多少本书 >>> Book.objects.filter(publisher__name='人民邮电出版社').count() >>> from django.db.models import * >>> Book.objects.filter(publisher__name='人民邮电出版社').aggregate(Count('title')) 2.查询陈吉出的书总价是多少…
django.db.models.query.QuerySet QuerySet特点: 1.可迭代 2.可切片 查询相关API 1.get(**kwargs):返回与所给的筛选条件相匹配的对象,返回结果有且只有一个.如果符合筛选条件的对象超过一个,就会抛出MultipleObjectsReturned异常,如果没有找到符合筛选条件的对象,就会抛出DoesNotExist异常. 2.all():查询所有结果的对象集. 3.filter(**kwargs):它包含了与所给的筛选条件相匹配的对象集.…
一.增加 create和save方法 实例: 1.增加一条作者记录 >>> from hello.models import * >>> Author.objects.create(name='胡大海') >>> AuthorDetail.objects.create(sex=False,email='333@qq.com',address='北京XX',birthday='1988-1-2',author_id=1) 2.增加一条出版社记录 >…
一.创建数据模型. 实例: 作者模型:一个作者有姓名. 作者详情模型:把作者的详情放到详情表,包含性别.email 地址和出生日期,作者详情模型与作者模型之间是一对一的关系(OneToOneField) 出版商模型:出版商有名称,地址,所在城市,省,国家,网址. 书籍模型:书籍有书名,出版日期,价格.一本书可能会有多个作者,一个作者也可以写多本书,所以作者与书籍的关系是多对多的关联关系(many-to-many),一本书只应该由一个出版商出版,所以出版商和书籍是一对多的关联关系(one-to-m…