文静 发表于 2021-11-4 17:21:04

Django数据库迁移报错问题

大佬我又没辙了{:10_266:}

这是Django里的settings.py的配置
DATABASES = {
    'default': {
      'ENGINE': 'django.db.backends.mysql',   # 改为mysql         mysql -uroot -p123456
      'HOST': '127.0.0.1',                  # mysql指定IP
      'PORT': '3306',                         # 指定端口号      show global variables like'port';
      'USER': 'root ',                        # 用户名
      # 修改密码
      # 1、use mysql
      # 2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
      'PASSWORD': '123456',                   # 密码             show databases;   show tables;
      'NAME': 'dj09' ,                        # 指定数据库      python manage.py makemigrations;

      
    }
}

这是那啥init里面的配置
import pymysql
pymysql.install_as_MySQLdb()    # 设置使用MYSQLDB
然后models的配置像这样

from django.db import models

# Create your models here.
# 自己编写模型类    继承Model
# 对象-关系-映射    中间人
class BookInfo(models.Model):
    """
    通过定义类的方式来实现和数据库中的字典和数据库名
    类中的属性--数据库中的字段      字段有类型,长度,是否显示
    类名----数据库中的表
    """
    # 定义变量      和数据库中的字段一一对应
    # ID在模型类中ID是可以自动生成的
    # 字符串
    name = models.CharField(max_length=20,verbose_name='名称')
    # 发布日期      null=True 当我们的属性中使用了null-True   这个字段可以不传
    pub_date = models.DateField(verbose_name='发布日期', null=True)
    # 阅读量      default 默认的值
    readcount = models.IntegerField(verbose_name='阅读量',default=0)
    # 评论量
    commentcount = models.IntegerField(verbose_name='评论量',default=0)
    # 逻辑删除(下架但数据库还有)布尔类型
    is_delete = models.BooleanField(default=False,verbose_name='逻辑删除')

    # 如果不去指定类名      ---子应用名_模型类名
    class Meta:
      db_table = 'bookinfo'       # 指明数据库表名
      verbose_name = '图书'         # admin里面去显示名称的
      verbose_name_plural = verbose_name   # admin显示的时候以复数的型式显示

    def __str__(self):
      # 定义了每个数据对象的显示信息
      return self.name
{:10_285:}
然后开始迁移

显示密码啥啥啥的错误,可是密码改过了cmd登录也没有半点问题
RuntimeWarning: Gror checking a consistent migration history performed for database connection 'default': (1045, "Access denied for user 'root '@'localhost' (usword: YES)")
warnings.warn(
No changes detected

Django运行页面也是报错
django.db.utils.OperationalError: (1045, "Access denied for user 'root '@'localhost' (using password: YES)")

这可咋办啊

文静 发表于 2021-11-4 17:23:34

本帖最后由 文静 于 2021-11-4 17:28 编辑

kogawananari 发表于 2021-11-4 18:15:01

删除所有缓存再试   migrations目录里除了__init__.py以外的不是自己写的文件删除

阿奇_o 发表于 2021-11-5 00:20:17

应该是'root',不是 'root ', 多了个空格。。用户名错误,挺明显的吧。。{:10_312:}

心驰神往 发表于 2021-11-5 08:02:42

文静 发表于 2021-11-5 08:04:10

阿奇_o 发表于 2021-11-5 00:20
应该是'root',不是 'root ', 多了个空格。。用户名错误,挺明显的吧。。

..............火眼金睛怎么炼成的大佬

文静 发表于 2021-11-5 08:05:29

kogawananari 发表于 2021-11-4 18:15
删除所有缓存再试   migrations目录里除了__init__.py以外的不是自己写的文件删除

嘿嘿,没有其他的了{:10_254:}

阿萨德按时 发表于 2021-11-5 08:48:08

{:10_254:}

小程奋发图强 发表于 2021-11-5 11:18:11

{:10_334:}

1molHF 发表于 2021-11-5 11:55:43

{:10_256:}

tianlai7266 发表于 2021-11-5 12:32:07

{:10_254:}

hornwong 发表于 2021-11-5 18:49:59

{:5_95:}

100gram 发表于 2021-11-5 21:10:05

{:10_254:}

noah-py 发表于 2021-11-7 18:22:52

{:10_275:}
页: [1]
查看完整版本: Django数据库迁移报错问题