En Python Flask, cómo permitir que un usuario vuelva a organizar los elementos de la lista y grabar en la base de datos

StackOverflow https://stackoverflow.com//questions/24050292

Pregunta

Tengo una aplicación FLASK SQLALCHEMY BOOTSRAP. Mi plantilla hace una lista de artículos en una tabla que me gustaría que el usuario pudiera reorganizar.Los artículos se muestran a través de Standard Jinja2

 {% for item in List %}
 {{item}}
  {%end for%}

Entonces, ¿cómo puedo permitir al usuario reorganizar el orden de los objetos y luego registrar esos cambios?

Una idea que tuve fue conseguir jquery clasable para permitir que se vuelva a organizar y luego envíe el nuevoValores a mi base de datos (ya sea que se envíen, o como están reorganizados).

Pero, ¿cómo escribo una declaración SQLALCHEMY para actualizar la fila apropiada en mi base de datos?¿Cuál es la pieza entre JavaScript y Python donde identifico en qué fila en el DB para cambiar?

¿Fue útil?

Solución

JQUERY UI's GentacodiCetAnDode tiene un mensaje sortable: cuando se llama a un ordenable, devuelve las ID de los elementos en el orden en que aparecen en el DOM.Esta es probablemente la forma más sencilla de manejar las cosas:

<ul id="theSortableStuff">
{% for item in things_to_sort %}
    <li id="item-{{ item.id }}">{{ item.name }}</li>
{% endfor %}
</ul>

<script>
var $sortables = $("#theSortableStuff").sortable({
  stop: function() {
    var sortedItems = $sortables.sortable("toArray");
    // Update some form in the DOM or use AJAX to invoke a server-side update
  }
});
</script>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top