如何修复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
相关产品推荐
相关产品推荐

