我认为您可以使用 django 模型形式。https://docs.djangoproject.com/en/3.1/topics/forms/modelforms/。使用 ModelForm,django 将自动生成适合您的模型的选择表单这是我的项目截图和源代码,例如
截图[1]:https ://i.stack.imgur.com/AtI2v.png
class FormDaftarPegawaiBaru (forms.ModelForm):
class Meta:
model = Pegawai
fields = '__all__'
labels = {'nip': '', 'nama': '', 'tempatLahir': '',
'tanggalLahir': '', 'stasiunKerja': 'Stasiun Kerja'}
widgets = {
'nip': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'NIP'}),
'nama': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Nama Lengkap'}),
'tempatLahir': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Tempat Lahir'}),
'tanggalLahir': forms.DateInput(attrs={'class': 'form-control', 'placeholder': 'Tanggal Lahir (10/28/2000)'}),
'stasiunKerja': forms.Select(attrs={'class': 'form-control', }),
}
这些是模型
class Stasiun (models.Model):
nama = models.CharField(max_length=80)
alamat = models.CharField(max_length=80)
telepon = models.CharField(max_length=80)
email = models.EmailField(max_length=80)
kepalaStasiun = models.OneToOneField(
'Pegawai',
on_delete=models.SET_NULL,
null=True, )
class Pegawai (models.Model):
nip = models.CharField(max_length=18, primary_key=True)
nama = models.CharField(max_length=80)
tempatLahir = models.CharField(max_length=80, null=True, blank=True)
tanggalLahir = models.DateField(null=True, blank=True)
stasiunKerja = models.ForeignKey(
Stasiun,
on_delete=models.SET_NULL,
null=True,)