python - 以django形式获取对象列表

标签 python django forms

我正在尝试使用 Django 创建联系人管理器。我使用以下代码创建了一个表单:

class ContactForm(forms.ModelForm):
    first_name = forms.CharField(max_length=20, help_text="First name")
    last_name = forms.CharField(max_length=20, help_text="Last name")
    email = forms.CharField(max_length=100, required=False, help_text="Email")
    phone = forms.CharField(max_length=15, required=False, help_text="Phone")
    company = forms.ChoiceField(widget=forms.Select, choices=Company.objects.all(), required=False, help_text="Company")

    class Meta:
        model = Contact
        fields = ('first_name', 'last_name', 'email', 'phone', 'company')

我在公司领域遇到了问题。我不知道如何将所有公司的列表传递给表单,以便它可以在 html 中显示为选择标签。我相信我必须将它转换为字典,这样“选择”参数才能起作用,但我不确定该怎么做。

最佳答案

使用 ModelChoiceField :

company = forms.ModelChoiceField(queryset=Company.objects.all(), required=False, help_text="Company")

关于python - 以django形式获取对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21199067/

相关文章:

django - 在 Heroku 上为 Django 静态文件添加过期 header

python - Django:GET css 返回 404?

javascript - 如何使用 GM_xmlhttpRequest 提交到基本的外部表单页面?

javascript - 防止客户重复提交订单?

Python: "import"更喜欢什么——模块还是包?

python - 如何将列移到 Pandas 的下一行

python - 设置默认透明度 savefig

python - 在 python 中使用 resample ('W' ),sum() 进行基于自定义周期的重采样时出错

python - 属性错误 : 'module' object has no attribute 'TwilioRestClient'

javascript - jQuery 获取具有 "multiple"属性的文件输入的 fakepath 来预览图像