我在Django中插入实例数据的问题,这是我的模型如何在django中从视图插入数据实例?
class DipPegawai(models.Model):
PegID = models.AutoField(primary_key=True)
PegNamaLengkap = models.CharField(max_length=100, blank=True, null=True)
PegUser = models.OneToOneField(User, null=True, blank=True, unique=True)
class DipHonorKegiatanPeg(models.Model):
KegID = models.AutoField(primary_key=True)
PegID = models.ForeignKey(DipPegawai)
这是我的看法
def tambah_klaimhonor(request):
klaim = {}
user = request.user.id
pegid = DipPegawai.objects.filter(PegUser = user).values_list('PegID',flat=True)[0]
honoruser = DipHonorKegiatanPeg(PegID=pegid)
if request.method == 'POST':
form = KlaimHonorGuruKarForm(request.POST, instance=pegid)
if form.is_valid():
form.save()
return redirect('index_klaimhonor')
klaim['form'] = KlaimHonorGuruKarForm()
return redirect('index_klaimhonor')
当我插入数据,我得到这个错误
Exception Type: ValueError at /kegiatan/tambah_klaimhonor
Exception Value: Cannot assign "41L": "DipHonorKegiatanPeg.PegID" must be a "DipPegawai" instance.
我的表格
class KlaimHonorGuruKarForm(ModelForm):
class Meta:
model = DipHonorKegiatanPeg
fields = ('KegNama', 'KegTglMulai', 'KegJamMulai', 'KegTglAkhir', 'KegJamAkhir',)
labels = {'KegNama': 'Nama Kegiatan', 'KegTglMulai': 'Mulai Tanggal Kegiatan',
'KegJamMulai': 'Mulai Jam Kegiatan',
'KegTglAkhir': 'Akhir Tanggal Kegiatan', 'KegJamAkhir': 'Akhir Jam Kegiatan'}
widgets = {
# 'KegNama': TextInput(attrs={'required': True}),
'KegJamAkhir': TextInput(attrs={'required': True}),
'KegTglMulai': DateInput(attrs={'id': 'datepicker', 'data-date-format': 'yyyy-mm-dd', 'required': True}),
'KegTglAkhir': DateInput(attrs={'id': 'datepicker1', 'data-date-format': 'yyyy-mm-dd', 'required': True}),
'KegJamMulai': TextInput(attrs={'id': 'timepicker2', 'required': True}),
}
我使用用户登录在DipHonorKegiatanPeg中插入数据,但是我想从DipPegawai插入PegID.DipHonorKegiatanPeg实例?
你能减少到[mcve]吗? – xiawi
心中已经降低它@xiawi – Gusan