用HiddenInput重写ModelChoiceField不起作用

1 投票
1 回答
793 浏览
提问于 2025-04-17 14:11

我有一个表单,它是根据模型生成的。

class UserProfile(models.Model):
    company = models.ForeignKey(Company)
    user = models.OneToOneField(User)
    department = models.CharField(max_length=100)
    position = models.CharField(max_length=100)

class UserProfileForm(ModelForm):
    company_id = ModelChoiceField(queryset=Company.objects.all(),
                                            widget=HiddenInput())
    class Meta:
        model = UserProfile
        exclude = ('user')

但是它并没有正常工作,company_id 这个选择框还是显示在页面上。请问我该如何创建一个隐藏的字段来存放 company_id 呢?

1 个回答

4

模型和表单中的字段名称要一致。把 company_id 改成 company,这样就可以正常工作了。

撰写回答