如何以不同于模型字段名称的形式创建具有字段名称的Django模型表单?

mie*_*nik 2 python django django-models django-forms

我有一个模型和这样的表格:

class Content(models.Model):
    title = models.CharField(_("title"), max_length=16)
    category = models.ForeignKey(Category, verbose_name = _('category'))

class ContentForm(forms.ModelForm):
    class Meta:
        model=Content
        fields = ('title', 'category', )
Run Code Online (Sandbox Code Playgroud)

我想在表单中有f_category字段的名称(当然模型中字段的名称是留下来的category).是否可以这样做,而不必手动构建整个表单(这很难,因为该字段是一个ForeignKey,必须是一个带有选项列表的选择字段)?


澄清:按名称我的意思是HTML表单代码中的名称: <input type="select" name="f_category" />

Dan*_*man 5

您的评论揭示了您实际需要做的事情 - 这就是为什么您应该始终描述您的实际问题,而不是您提出的解决方案.当然,有一种在Django中同一页面上处理两个相同表单的正确方法 - prefix在实例化字段时使用参数.

form1 = MyForm(prefix='form1')
form2 = MyForm(prefix='form2')
Run Code Online (Sandbox Code Playgroud)

现在,当您输出form1和form2时,所有字段将自动获得相关前缀,因此它们被正确分隔.