2012-08-04 48 views
6

Soy nuevo en python y pirámide y estoy luchando con la forma de procesar los resultados de un formulario que contiene varias casillas de verificación en Pyramid.casillas de verificación de pirámide

Aquí es un extracto de mi formulario:

<p tal:repeat="category categories"> 
    <input type="checkbox" name="selectedcategories" value="${category.id}"> ${category.name}<br/> 
</p> 

Y aquí es cómo actualmente estoy tratando de recorrer y procesar los resultados:

selectedcategories=request.params['selectedcategories']  
for categoryid in selectedcategories: 
     category = DBSession.query(Category).filter_by(id=categoryid).one() 
     article.categories.append(category) 

Como habrán adivinado, I' Solo estoy obteniendo un máximo de una casilla de verificación reconocida sin importar cuántas seleccione en el formulario. Django tiene una opción para devolver los resultados como una lista, pero parece que no puedo encontrar la manera de hacerlo con Pyramid.

Respuesta

6

request.params es un multidict. Para recuperar varios valores, puede llamar a su método getall():

selectedcategories = request.params.getall("selectedcategories") 
+0

¡Funcionó como un encanto! ¡Muchas gracias! – dusty909

Cuestiones relacionadas