django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default'. 报错场景: 自定义user信息表,继承django默认生成的user表,然后进行数据更新的时候,发生报错. 解决方案: 删除数据库,新建一个跟原来一样名字的数据库,就解…
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency users.0001_initial on database 'default' 百度上的大部分解决方案: 方案1.删除数据库中 除了auth_user的其他表,然后重新来一次 大概原因是因为admin的模型依赖了之前默认的user模型吧 方案2:如果…
python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大…
AUTH_USER_MODEL = 'myapp.MyUser' django——重写用户模型 Django内建的User模型可能不适合某些类型的项目.例如,在某些网站上使用邮件地址而不是用户名作为身份的标识可能更合理. 1.修改配置文件,覆盖默认的User模型 Django允许你通过修改setting.py文件中的 AUTH_USER_MODEL 设置覆盖默认的User模型,其值引用一个自定义的模型. 上面的值表示Django应用的名称(必须位于INSTALLLED_APPS中)和你想使用的U…
ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库 ORM是“对象-关系-映射”的简称,主要任务是: 根据对象的类型生成表结构 将对象.列表的操作,转换为sql语句 将sql查询到的结果转换为对象.列表 这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 Django中的模型包含存储数据的字段和约束,对应着数据库中唯一的表 使用MySql数据库 在虚拟环境中安装m…
Django数据库层解决的问题 在本例的视图中,使用了pymysql 类库来连接 MySQL 数据库,取回一些记录,将它们提供给模板以显示一个网页: from django.shortcuts import render import pymysql def book_list(request): db = pymysql.connect(user='me', db='mydb', passwd='secret', host='localhost',charset='utf8') cursor…
目录 Django基础之模型(models)层 单表查询 必知必会13条 神奇的双下划线查询 多表查询 外键的字段的增删改查 表与表之间的关联查询 基于双下划线的跨表查询(连表查询) 补充知识 Django基础之模型(models)层 Django测试环境搭建:拷贝manage.py中的行代码放到tests.py文件中导入模块 import django,django.setup() 如果你想查看orm语句内部真正的sql语句有2种方法: 1.如果是queryset对象,就可以.query查看该…
目录 Django的日常-模型层(2) 几种常用的查询方式 聚合查询 分组查询 F和Q查询 查询优化相关 orm中常见字段 choices参数 orm的事务操作 Django的日常-模型层(2) 几种常用的查询方式 聚合查询 ​ 聚合,我们应该有这个概念,因为在数据库的SQL语言里面有聚合函数的概念,聚合,字面意思来说,就是把一类东西放在一起,但是跟分组又不太一样. ​ 我们知道我们在写SQL语句的时候,分组groupby和聚合函数是分不开的,因为一旦select语句里面有分组,那么我们就只能查…
目录 Django的日常-模型层(1) 模型层 django测试环境 ORM查询 Django的日常-模型层(1) 模型层 模型层其实就是我们应用名下的models.py文件,我们在里面写入想要创建的表的表结构,以类的形式表示出来,然后通过django的ORM来实现表的创建,以及表的增删改查等. django测试环境 不是正式开发项目的话,其实我们不必要一定按正式的流程来,又要建html,又要写urls,写views,因为我们在学习模型层的时候其实只需要通过ORM来对数据库进行操作,所以我们大可…
学习Django的这几天,学习过程还是很愉快的,django采用的MVC架构,学习曲线十分平缓,在深入学习之前,先简单的整理记录下django从数据库中获取数据并在模板中使用的方法.温故而知新 ^_^ 首先假设一个简单的场景,数据库中存放着作者和书目的信息.这是一种多对多(ManyToMany)的结构,因为一个作者可以写多本书,一本书也可能由多个作者共同完成.我们如何使用Django来创建项目,配置数据库,创建视图,模板,配置URL路由,最后在浏览器访问我们动态创建的页面. 如下的部分算作是记录…