これが私の関連モデルです:
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>
この上 ; テンプレートでは、字幕フィールドのIDを返します。その名前ではありません。
テキストボックスで字幕名を提供したい。ModelChoiceFieldは私が欲しいものを提供しません。