2010-12-05 15 views
39

request.POST['xzy']をリストとして使用して、複数の選択チェックボックスの値を取得したいとします。 私のモデルとテンプレートコードはこちらです。ここで私がしたい「RECOMDjangoのチェックボックスから複数の値を取得する方法

マイモデル

class Recommend(models.Model): 
    user=models.ForeignKey(User) 
    book=models.ForeignKey(BookModel) 
    friends=models.ManyToManyField(User, related_name="recommended") 

マイテンプレート

{% for friend in friends %} 

<input type="checkbox" name="recommendations" id="option{{friend.id}}" value={{friend.username}} /> 
<label for="option{{friend.id}}"><b>{{friend.username}}</b></label><br /> 

{% endfor %} 

マイビューコード

if request.method == 'POST': 
    recommendations=request.POST['recommendations'] 

mendations 'をすべての友人idを含むリストにすることができますが、ここでは上書きされており、最後のforループの繰り返しで割り当てられた値のみが含まれています。どうすればこの問題を解決できますか?必死に助けが必要です。ありがとうございました。

答えて

93
request.POST.getlist('recommendations') 
+1

あなただけの非常識行くから私を救ってくれてありがとうの男@! – JREAM

+0

@KiranRuthRテンプレートでgetlistを使用しないで、views.pyで使用します。 –

+0

保存しました。 :3 –

1
if not request.POST.has_key(strName): 
     return ""  
    if request.POST[strName]: 
     return ','.join(request.POST.getlist(strName))   
    else: 
     return "" 
関連する問題