Je souhaite obtenir les valeurs d'une case à cocher à sélection multiple à l'aide de request.POST['xzy']
sous forme de liste. Voici mon modèle et code de modèle.
Mon modèle
class Recommend(models.Model):
user=models.ForeignKey(User)
book=models.ForeignKey(BookModel)
friends=models.ManyToManyField(User, related_name="recommended")
Mon modèle
{% 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 %}
Mon code d'affichage
if request.method == 'POST':
recommendations=request.POST['recommendations']
Ici, je veux que les "recommandations" soient une liste contenant tous les identifiants d'amis, mais ici, elles sont simplement écrasées et ne contiennent que la valeur qui a été affectée dans la dernière itération de boucle. Comment puis-je résoudre ce problème. Besoin d'aide désespérément. Merci.
request.POST.getlist('recommendations')
if not request.POST.has_key(strName):
return ""
if request.POST[strName]:
return ','.join(request.POST.getlist(strName))
else:
return ""