报错问题:

问题一:(1050代码)

django.db.utils.InternalError: (1050, "Table 'app01_group' already exists")

解决办法:

python manage.py migrate app名 --fake 

问题二:(1146代码)

django.db.utils.ProgrammingError: (1146, "Table 'anec.app01_usergroup' doesn't exist")

问题解析:

在数据库中删除了一张表,重新执行python manage.py migrate时出错,提示不存在这张表。

分析原因:

主要是因为django一般在第一次迁移的时候新建表,后面的都不会新建表,而是只检查字段等等的变化,所以我们既然已经删除了这张表,django检查这张表的字段变化的时候就自然报错了。

解决办法:

解决办法仍然是执行python manage.py makemigrationspython manage.py migrate,只不过在执行这个之前,把第一次执行迁移创建表的那个记录删除掉,否则它检测到已经执行过第一次了,那么它后面就不会创建表了。

问题详解 转至 :http://www.bubuko.com/infodetail-2576217.html

问题3 同表双外键

报错信息:

“ HINT: Add or change a related_name argument to the definition for 'AnswersModel.author' or 'AnswersModel.relay_to'.”

解决:

class AnswersModel(models.Model):
author = models.ForeignKey(FrontUserModel,null=True,related_name='answers_user')
relay_to = models.ForeignKey(FrontUserModel,null=True,related_name='relay_to_user')

解释:
当模型执行迁移时会报:HINT: Add or change a related_name argument to the definition for 'AnswersModel.author' or 'AnswersModel.relay_to错误。
原因是因为author 和relay_to字段指向同一个模型的外键反向关联名称产生了冲突。
FrontUserModel模型对author的反向关联名称为AnswersModel_set() 。
FrontUserModel模型对relay_to的反向关联名称为AnswersModel_set()。
因此,需要给外键增加related_name属性,自定义关联名称。

问题4 (1045):

错误描述:

从SQLLITE数据库换为MYSQL数据库,执行 python manage.py migrate 命令时,报错:

django.db.utils.OperationalError: (1045, "Access denied for user 'ODBC'@'localhost' (using password)

原因说明及解决方案:

django setting.py文件中设置的database用户名或者密码错了,修改一下就可以

django 学习手册 - ORM 报错集(随时更新)的更多相关文章

  1. Django学习手册 - ORM 数据创建/表操作 汇总

    ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它 ...

  2. Django学习手册 - ORM 外键

    Django 外键创建 关键语法: models.ForeignKey("UserGroup",to_field="gid",default=1,on_dele ...

  3. c++ 编译报错汇总(随时更新)

    1.invalid new-expression of abstract class type ‘×××ב 这个报错代表一个尝试在实例化一个抽象类,也就是说父类的接口中有纯虚函数在子类中没有实现: ...

  4. Django学习手册 - ORM 多对多表

    定义表结构: class Host(models.Model): hostname = models.CharField(max_length=32) port = models.IntegerFie ...

  5. Django学习手册 - ORM - ImageField数据类型

    前置步骤 setting.py文件配置: 添加app目录 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'djan ...

  6. Django学习手册 - ORM 单表数据获取

    Django 单表数据的获取: 先建立数据表格 from django.db import models # Create your models here. class userinfo(model ...

  7. Django学习手册 - ORM数据类型

    DOM 字段/参数 配置格式: Module.字段(参数) 常用的字段归纳: 数字 models.AutoField() 自增列(int),必须设置为主键 models.IntegerField() ...

  8. Django学习手册 - ORM sqlit基础数据库操作

    步骤阐述:( splitDB 是Django自带的一个数据库) 1.在APP01 中的 models.py 配置DB信息  userinfo 相当于数据表的表名,而 uname.pwd 相当于 表中的 ...

  9. Django学习手册 - ORM choice字段 如何在页面上显示值

    在module操作过程中使用choice字段: 核心: obj.get_字段名_display 定义module 数据结构: class msg(models.Model): choice = ( ( ...

随机推荐

  1. 计算机基础:计算机网络-chapter4 网络层

    网络层的使用:如 ping,tracert,原理是ICMP 一.什么叫网络,网络层做什么,通过什么实现,这章的内容, 什么叫网络,实现这些需要做什么 将全世界范围内数以百万计的网络都互连起来,并且能够 ...

  2. POJ 3687 Labeling Balls (top 排序)

    Labeling Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15792   Accepted: 4630 D ...

  3. day-03(js)

    回顾: css: 层叠样式表 作用: 渲染页面 提供工作效率,将html和样式分离 和html的整合 方式1:内联样式表 通过标签的style属性 <xxx style="...&qu ...

  4. Go-day04

    今日概要: 1.内置函数.递归函数.闭包 2.数组与切片 3.map数据结构 4.package介绍 5.互斥锁和读写锁 一.内置函数 1.close:主要用来关闭channel 2.len:用来求长 ...

  5. 【C#】使用bat文件安装卸载Window服务

    1.安装服务 @echo off @title 安装windows服务path %SystemRoot%\Microsoft.NET\Framework\v4.0.30319echo========= ...

  6. 【JAVA】使用IntelliJ IDEA创建Java控制台工程

    1.File->New->Project 2.选择Java,下一步 3.模板有两个:Command Line App和Java Hello World,没有太大区别 4.命名: 5.结果:

  7. rpmbuild打包php

    安装php依赖库 mkdir -pv ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} php有一个依赖库,在yum源于epel源中都没有需要自己打包libico ...

  8. @CrossOrigin注解与跨域访问

    在Controller中看到@CrossOrigin ,这是什么?有什么用?为什么要用? what? @CrossOrigin是用来处理跨域请求的注解 先来说一下什么是跨域: (站在巨人的肩膀上) 跨 ...

  9. oldboy s21day05

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.请将列表中的每个元素通过 "_" 链接起来.'''users = ['李少奇','李 ...

  10. php 随机生成数字字母组合

    直接上代码: function getRandomString($len, $chars=null) { if (is_null($chars)) { $chars = "abcdefghi ...