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

如何修复Django中的IntegrityError 1048错误?

问题:数据成功插入数据库但仍显示错误提示

我开发了一个向数据库插入数据的上传功能,数据已成功写入数据库,但页面仍弹出错误提示。

错误截图:
错误截图

此前我尝试修改Excel列名,以为是列名不匹配导致的问题,但恢复默认设置后错误依旧。

以下是相关代码及数据库表结构:

Views.py

if 'uploaddatasiswa' in request.POST:
    dataset = Dataset()
    new_siswa = request.FILES['uploadSiswa']

    if not new_siswa.name.endswith('xlsx'):
        messages.info(request, 'Format tidak valid!')
        
    else:
        imported_data = dataset.load(new_siswa.read(),format='xlsx')
        for data in imported_data:
            tambah_siswa = modelUser(
                username = data[0],
                namadepan = data[1],
                namabelakang = data[2],
                password = data[3],
                email = data[4],
                jeniskelamin = data[5],
                tanggallahir = data[6],
                agama = data[7],
                alamat = data[8],
                telepon = data[9],
                role = "siswa"
            )
            tambah_siswa.save()
        return HttpResponseRedirect("/admin/daftarsiswa")
return render(request,'tambahsiswa.html')

Models.py

class modelUser(models.Model):
    namadepan = models.CharField(max_length=200, null=False, blank=False)
    namabelakang = models.CharField(max_length=200, null=False, blank=False)
    username = models.CharField(max_length=200, null=False, blank=False)
    password = models.CharField(max_length=200, null=False, blank=False)
    email = models.CharField(max_length=200, null=False, blank=False)
    jeniskelamin = models.CharField(max_length=200, null=False, blank=False)
    tanggallahir = models.DateField()
    agama = models.CharField(max_length=200, null=False, blank=False)
    alamat = models.CharField(max_length=200, null=False, blank=False)
    telepon = models.CharField(max_length=200, null=False, blank=False)
    jumlahkelas = models.CharField(max_length=200, null=True, blank=True, default=0)
    role = models.CharField(max_length=200, null=False, blank=False)
    def __str__(self):
        return self.username

数据库表结构截图:
数据库表结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:05:31