这是我的相关模型:
class Post(models.Model):
subtitle = models.ForeignKey('Subtitle')
class Subtitle(models.Model):
name = models.CharField(max_length=30)
def __unicode__(self):
return self.name
和模型:
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>
这样 ; 在 template 中,它返回字幕字段的 id。不是它的名字。
我想在文本框中提供字幕名称。ModelChoiceField没有提供我想要的。