─=≡Σ((( つ•̀ 3 •́)つ宝 2023-04-21 18:05 采纳率: 66.7%
浏览 17
已结题

django项目的数据迁移


(Python37.9) D:\OtherProjects\djangoProject>python manage.py makemigrations --empty blog
SystemCheckError: System check identified some issues:

ERRORS:
blog.User.password: (fields.E120) CharFields must define a 'max_length' attribute.

(Python37.9) D:\OtherProjects\djangoProject>python manage.py makemigrations --empty blog
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_lin
e
    utility.execute()
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\core\management\__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\core\management\base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\core\management\base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\core\management\base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\core\management\commands\makemigrations.py", line 103, in handle
    loader.check_consistent_history(connection)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\migrations\loader.py", line 294, in check_consistent_history
    applied = recorder.applied_migrations()
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\migrations\recorder.py", line 77, in applied_migrations
    if self.has_table():
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\migrations\recorder.py", line 55, in has_table
    with self.connection.cursor() as cursor:
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\backends\base\base.py", line 259, in cursor
    return self._cursor()
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\backends\base\base.py", line 235, in _cursor
    self.ensure_connection()
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\backends\base\base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\utils\asyncio.py", line 33, in inner
    return func(*args, **kwargs)
  File "C:\Users\25564\AppData\Roaming\Python\Python37\site-packages\django\db\backends\mysql\base.py", line 234, in get_new_connection
    connection = Database.connect(**conn_params)
  File "D:\Anaconda\envs\Python37.9\lib\site-packages\pymysql\connections.py", line 353, in __init__
    self.connect()
  File "D:\Anaconda\envs\Python37.9\lib\site-packages\pymysql\connections.py", line 633, in connect
    self._request_authentication()
  File "D:\Anaconda\envs\Python37.9\lib\site-packages\pymysql\connections.py", line 869, in _request_authentication
    authresp = _auth.scramble_caching_sha2(self.password, self.salt)
  File "D:\Anaconda\envs\Python37.9\lib\site-packages\pymysql\_auth.py", line 198, in scramble_caching_sha2
    p1 = hashlib.sha256(password).digest()
TypeError: object supporting the buffer API required

这个报错如何改,我的password以及改为字符串类型了,但是改了好久还是错误的

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-21 18:12
    关注

    基于Monster 组和GPT的调写:

    • 根据你提供的信息,第一条命令出现了一个错误:CharFields必须定义“max_length”属性。这意味着你需要在你的models.py文件中找到用户(User)模型的“password”字段并为它指定一个最大长度。例如,如果你想让最大长度为128,可以在CharField上添加“max_length=128”。
    • 在修复这个错误后,可以再次运行第一条命令以创建一个新的迁移文件。这个文件将在“blog/migrations”目录中创建,名字通常是一个类似“0001_initial.py”的文件。
    • 一旦你创建了迁移文件,你可以运行“python manage.py migrate”命令来应用这个迁移并将数据库更新为最新的模型状态。如果你已经有了一些数据在数据库中,并且你想保留这些数据,那么你可能需要使用“python manage.py migrate --fake”命令来将数据库标记为已迁移,但不实际应用任何更改。
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月29日
  • 专家已采纳回答 5月21日
  • 创建了问题 4月21日

悬赏问题

  • ¥15 软件工程用例图的建立(相关搜索:软件工程用例图|画图)
  • ¥15 如何在arcgis中导出拓扑关系表
  • ¥15 处理数据集文本挖掘代码
  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
  • ¥20 求:怎么实现qt与pcie通信
  • ¥50 前后端数据顺序不一致问题,如何解决?(相关搜索:数据结构)
  • ¥15 基于蒙特卡罗法的中介效应点估计代码
  • ¥15 罗技G293和UE5.3