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

Django Admin中SQLite数据表数据不显示问题求助

解决Django Admin不显示SQLite导入CSV数据的问题

以下是几个实用的排查和解决方向:

1. 确认数据表名称匹配

Django默认生成的数据表名为应用名_模型类名小写,比如你的应用是prixcarbu、模型是VilleStation,对应的表名应该是prixcarbu_villestation。

  • 用SQLite浏览器检查你导入的表是否是这个名字,如果不是,二选一解决:
    • 把导入的表重命名为prixcarbu_villestation;
    • 在模型类里手动指定表名:
      class VilleStation(models.Model):
          nomVille = models.CharField(max_length=255)
          adresse = models.CharField(max_length=255)
          cp = models.CharField(max_length=5)
      
          class Meta:
              db_table = "你实际导入的表名"  # 替换成你的表名
      
          def __str__(self):
              return self.nomVille
      

2. 核对字段名完全一致

CSV导入的列名必须和模型里的字段名完全匹配(包括大小写,虽然SQLite不区分,但Django会严格匹配)。比如模型里是nomVille,如果CSV里列名是nomville或者nom_ville,Django就无法映射到数据。

  • 解决:修改CSV的列名,或者调整模型字段名,确保两者完全一致。

3. 检查主键字段

Django模型默认会自动添加id作为自增主键字段。你导入CSV时:

  • 如果没有给id列赋值,或者id值为空、重复,Django无法正确识别数据;
  • 解决:要么在导入CSV时给每条数据设置唯一非空的id值;如果你的表用了其他字段做主键,在模型里用primary_key=True指定,比如:
    cp = models.CharField(max_length=5, primary_key=True)
    

4. 刷新Django的数据库关联

有时候Django会缓存旧的表结构,执行以下操作:

  • 重启Django开发服务器;
  • 运行命令:
    python manage.py makemigrations
    python manage.py migrate
    
    即使没有新的迁移文件,migrate也会确认表结构和模型的一致性。

5. 验证Admin用户权限

登录Admin的用户需要有VilleStation模型的查看权限:

  • 进入Admin的「用户」管理页面,找到当前登录用户,检查权限列表里是否有view_villestation权限,没有的话勾选保存。

内容的提问来源于stack exchange,提问作者Zembla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:55:21