我需要像CharField一样显示ModelChoiceField

时间:2016-02-01 16:40:46

标签: python django

我有一些模型modelformset_factory,模型包含ForeignKey,但我需要像CharField一样显示这个ForeignKey(ModelChoiceField)。

我这样用:

class SingleNeedFormWithDescription(ModelForm):
    helper = StandardFormHelper()
    helper.template = 'template.html'
    need = CharField()

    class Meta:
        model = NeedMembershipOrganization
        fields = ['need', 'description']

我的模板中有需要的ID,但我需要need.titleneed.__str__()

我的模特:

class NeedMembershipOrganization(Model):
    need = ForeignKey('needs.Need')
    organization = ForeignKey(Organization)
    description = TextField(blank=True, null=True, verbose_name='description')

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以将ModelChoiceField窗口小部件更改为TextInput,但您可能需要找出一些方法来验证和解析输入。

class SingleNeedFormWithDescription(ModelForm):

    need = forms.ModelChoiceField(
        queryset=Need.objects.all(), 
        widget=forms.TextInput)