我正忙着尝试仅以整数格式获取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 })
答案 0 :(得分:0)
据我所知,items
永远不应该是IntegerField
。您的使用情况设置为ForeignKey
到Project
,因此您应该明确说明
items = models.ForeignKey('self', null=True, blank=True)
可能使用比项目更好的描述性名称。
然后,您不需要在表单上定义任何内容,它只是成为标准模型表单,具有标准模型表单用法。