创建一个ModelForm,其中我的主键字段生成一个选择框

时间:2011-08-24 13:45:52

标签: django django-forms

我不确定我的语言是否足够清楚,但基本上我有这种形式:

class Paper(models.Model):
    number = models.CharField(max_length=12,primary_key=True)
    project = models.ForeignKey(Project)

class SomeForm(forms.ModelForm):

    class Meta:
        model = Paper
        fields = ('project', 'number')

和django为我创建了一个文本域。我想要的是一个带有现有主键的选择框。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为你不想要一个模型形式 - 那就是创建和更新模型实例。听起来你只想要一个表单来选择ID。使用普通表单,但使用ModelChoiceField

class SomeForm(forms.Form):
    ids = forms.ModelChoiceField(queryset=Paper.objects.all())

您需要为Paper模型提供一个返回__unicode__的{​​{1}}方法。