模型选择字段 - 获取ID

时间:2016-09-27 08:19:23

标签: python django django-models django-forms

我正忙着尝试仅以整数格式获取id,最好是ModelChoiceField。我得到要显示的列表,但是以字符串格式返回。请帮我检索ModelChoiceField的id。我想我需要在视图中这样做。

forms.py
class ProjectForm(forms.ModelForm):
    items = forms.ModelChoiceField(queryset=Project.objects.all())

    class Meta:
        model = Project
        fields = ['items']

models.py
class Project(models.Model):
    items = models.IntegerField(default=0, blank=True, null=True)

views.py
def ProjectView(request):
    form = ProjectForm(request.POST)

    if request.method == 'POST':
        if form.is_valid():
            save_it = form.save(commit=False)
            save_it.save()
            return HttpResponseRedirect('/')       
    else:
        form = ProjectForm()

return render(request, 't.html', {'form': form })

1 个答案:

答案 0 :(得分:0)

据我所知,items永远不应该是IntegerField。您的使用情况设置为ForeignKeyProject,因此您应该明确说明

items = models.ForeignKey('self', null=True, blank=True)

可能使用比项目更好的描述性名称。

然后,您不需要在表单上定义任何内容,它只是成为标准模型表单,具有标准模型表单用法。