You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django使用inspectdb生成models.py后启动runserver报错ValueError求助

错误原因

你遇到的ValueError: source code string cannot contain null bytes报错,核心是生成的home/models.py文件编码异常,包含Python解释器无法识别的空字节。
该问题是Windows PowerShell的默认规则导致:在PowerShell中使用重定向符号>输出内容时,默认采用UTF-16LE编码,每两个字符之间会插入空字节,不符合Python源码要求的UTF-8编码规则。

解决方案

任选以下任意一种方法处理即可:

  • 方法一:重新生成模型文件(推荐)
    先删除已生成的异常home/models.py文件,在PowerShell中执行指定UTF-8编码的输出命令:
    python manage.py inspectdb | Out-File -FilePath home/models.py -Encoding utf8
    
  • 方法二:手动转码现有文件
    用VS Code、记事本等编辑器打开home/models.py文件,选择「另存为」,编码选项选择UTF-8(不要选择带BOM的UTF-8),覆盖原文件保存即可。
  • 方法三:用CMD执行原命令
    切换到Windows CMD命令行环境,执行你原本的重定向命令即可,CMD默认输出编码不会插入空字节:
    python manage.py inspectdb > home/models.py
    
验证

处理完成后重新执行python manage.py runserver即可正常启动服务。

内容的提问来源于stack exchange,提问作者An Vũ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 09:45:04