繁体   English   中英

如何从Django中的另一个模型获取ID?

[英]How to get ID from another model in django?

我有2个模型,必须通过模板中的“提交”按钮同时将其输入数据库。

这是我的第一个模特

class DataPribadiSiswa(models.Model):
   SiswaID = models.AutoField(primary_key=True)
   WaliKelasID=models.CharField(max_length=5,blank=True,null=True)
   SiswaNIS = models.IntegerField(null=True, blank=True)

第二种模式

class RiwayatSekolah(models.Model):
   SekolahID=models.AutoField(primary_key=True)
   SiswaID_FK=models.CharField(max_length=10,blank=True,null=True)

这是我的view.py

def tambah_siswa(request):
   form = datasiswa(request.POST)
   form2 = riwayatsekolah(request.POST)
   if request.method == 'POST':
       if form.is_valid() and form2.is_valid():
           form.save()
           form2.save()
           return redirect('index')
   else:
       form = datasiswa()
       form2 = riwayatsekolah()
   return render(request, 'siswa/tambah_siswa.html', {'form': form, 'form2': form2})

如何插入SiswaIDDataPribadiSiswaSiswaID_FKRiwayatSekolah在同一时间,所有的形式是空白的?

您可以使用ForeignKey字段。

class RiwayatSekolah(models.Model):
    SekolahID=models.AutoField(primary_key=True)
    SiswaID_FK=models.ForeignKey(DataPribadiSiswa)

现在,您可以尝试先保存Siswa实例,然后将其添加到Sekolah实例中:

def tambah_siswa(request):
    form = datasiswa(request.POST)
    form2 = riwayatsekolah(request.POST)
    if request.method == 'POST':
        if form.is_valid() and form2.is_valid():
            siiswa_instance = form.save()
            Sekolah_instance = form2.save(commit=False)
            Sekolah_instance.SiswaID_FK = siiswa_instance
            Sekolah_instance.save()  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM