Domanda

sto usando django-filtro di drill-down e vorrei creare briciole di pane per ogni elemento che è stato filtrato. Ad esempio:

Price ranges:
10,000+
5,000-9,999
1,000-4,999
0-999

Bedrooms:
4
3
2
1

Ognuno degli elementi sotto fasce di prezzo e camere sarebbe un collegamento di drill-down in un set di query.

Mi piacerebbe creare un breadcrumb come Price range 0-999 o Bedrooms 3 se l'utente dovesse cliccare quei collegamenti, e quindi mostrare Price range 0-999 > Bedrooms 3 o Bedrooms 3 > Price range 0-999 quando si fa clic su un secondo collegamento.

Le briciole dovrebbero mantenere l'ordine (la parte Ho problemi con) e per qualsiasi numero di attributi. Facendo clic su un link nel breadcrumb dovrebbe applicare il filtro cliccato e tutti i filtri prima di essere nella scia.

Mi piacerebbe creare un QueryDict vuota e poi scorrere request.GET per costruire il QueryDict come uscita ho il pangrattato, ma per qualche ragione itera QueryDict attraverso i suoi elementi indietro (vedere la documentazione).

Qual è il modo più pulito per ottenere questo risultato? Qualcuno sa perché QueryDict funziona in questo modo? (Immagino che ci sia un caso d'uso mi manca.) Ogni consiglio è apprezzato.

È stato utile?

Soluzione

tenere traccia dell'ordine in sessioni. in modo che quando il primo filtro viene fatto clic (ad esempio 3 posti letto) memorizzarlo. allora se un altro viene cliccato, costruire il pangrattato dalle sessioni. dire che la seconda era 0-999 che ci si sferra il pangrattato esistenti (in questo esempio che si può trovare i 3 posti letto) e poi virare sulla più recente (0-999).

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