這裏是我的相關機型:的Django的ModelForm的現場退貨的ID,而不是價值
class Post(models.Model):
subtitle = models.ForeignKey('Subtitle')
class Subtitle(models.Model):
name = models.CharField(max_length=30)
def __unicode__(self):
return self.name
和的ModelForm:
class AddLink(ModelForm):
subtitle = forms.CharField(label='Subreddit')
class Meta:
model = Post
fields = ('subtitle')
相關的看法:
@login_required(login_url='/login/')
123 def edit_link(request, post_id):
124 get_post = Post.objects.get(id=post_id)
125 if request.method == 'POST':
126 form = AddLink(request.POST, instance=get_post)
127 if form.is_valid():
128 form.save()
129 return HttpResponseRedirect('/')
130 else:
131 form = AddLink(instance=get_post)
132
133 context = { 'form': form, 'post': get_post, }
134 template_name = 'edit_post.html'
135 return render_to_response(template_name, context,
136 context_instance=RequestContext(request))
和模板頁面:
1 <form action="" method="post">
2 {% csrf_token %}
3 {{ form.as_p }}
4 <input type="submit" value="save" />
5 </form>
這樣;在模板中,它返回字幕字段的ID。不是它的名字。
我想在文本框中提供小標題名稱。 ModelChoiceField不提供我想要的。
你能顯示你的模板和查看代碼嗎? – finspin
您在字段中缺少一個尾隨逗號:'fields =('subtitle',)' –
@finspin添加視圖 – alix