In Python Bock Come consentire a un utente di ricomporre gli elementi dell'elenco e registrare nel database

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

Domanda

Ho un'app per Black Sqlalchemy Bootsrap. Il mio modello rende un elenco di oggetti in una tabella che vorrei che l'utente sia in grado di riorganizzare.Gli articoli vengono visualizzati tramite standard Jinja2

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

Quindi, come posso consentire all'utente di riorganizzare l'ordine degli oggetti e quindi registrare tali modifiche?

un'idea che avevo dovuto ottenere jQuery ordinabile per consentire a ri-organizzare e quindi inviare il nuovoValori al mio database (su invio o come sono riorganizzati).

Ma, come scrivo una dichiarazione sqlalchemy per aggiornare la riga appropriata nel mio database?Qual è il pezzo tra JavaScript e Python dove identifico quale fila nel DB per cambiare?

È stato utile?

Soluzione

sortable di JQuery UI ha un messaggio toArray - quando viene chiamato su un ordinabile restituisce gli ID degli elementi nell'ordine in cui appaiono nel DOM.Questo è probabilmente il modo più semplice per gestire le cose:

<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>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top