首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django查找外键表单字段(新手问题)

Django查找外键表单字段(新手问题)
EN

Stack Overflow用户
提问于 2021-03-12 18:52:56
回答 1查看 86关注 0票数 0

这是一个基本的问题,但由于某种原因,我似乎找不到一个直截了当的答案,无论是在文档中还是在这个论坛。我确信肯定有一个简单的答案,但我对Django还是新手(我非常了解Python和数据库)。

场景:两个与外键相关的类: Order -(外键)->Order-审批人(审批人pk、全名、标题等)。订单批准人是一对多的关系。

在订单输入表单中,我希望能够按全名选择/输入审批人(Django应该将其转换为场景后面的审批人id )。理想情况下,应该有一个查找表单,这样我就可以从列表中按名称选择审批人。

我该怎么做?我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-12 19:05:09

我想你可以用django模型。https://docs.djangoproject.com/en/3.1/topics/forms/modelforms/。使用ModelForm,django将自动生成select表单,该表单与您的模型(例如,这是我的项目截图和源代码)一致

screenshot1:https://i.stack.imgur.com/AtI2v.png

代码语言:javascript
复制
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', }),
    }

这些都是模型

代码语言:javascript
复制
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,)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66605647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档