L'utilisation mie de pain avec django-filtre, QueryDict difficulté
-
11-09-2019 - |
Question
J'utilise django-filtre pour forer vers le bas et voudrais créer panure pour chaque élément qui a été filtré. Par exemple:
Price ranges:
10,000+
5,000-9,999
1,000-4,999
0-999
Bedrooms:
4
3
2
1
Chacun des éléments sous gammes de prix et chambres serait un lien pour percer dans un queryset.
Je voudrais créer un fil d'Ariane, comme Price range 0-999
ou Bedrooms 3
si l'utilisateur de cliquer sur ces liens, puis montrer Price range 0-999 > Bedrooms 3
ou Bedrooms 3 > Price range 0-999
quand ils cliquent sur un second lien.
Les miettes de pain doivent maintenir l'ordre (la partie que je vais avoir du mal avec) et de travailler pour un certain nombre d'attributs. En cliquant sur un lien dans le fil d'ariane devrait appliquer le filtre cliqué sur et tous les filtres avant dans la piste.
Je voudrais créer un QueryDict
vide et itérer ensuite par request.GET pour construire la QueryDict
comme je sortie la mie de pain, mais pour certains itère QueryDict
raison par ses éléments en arrière (voir la documentation).
Quelle est la plus propre façon d'y parvenir? Est-ce que quelqu'un sait pourquoi QueryDict
fonctionne de cette façon? (Je pense qu'il ya un cas d'utilisation, je suis absent.) Tout conseil est apprécié.
La solution
garder une trace de l'ordre dans les sessions. Ainsi, lorsque le premier filtre est cliqué (par exemple 3 lits) stocker. alors si un autre est cliqué, construire vos miettes de pain des séances. dire que le second était 0-999 que vous souhaitez tirer des miettes de pain existant (dans cet exemple que vous pouvez trouver les 3 lits), puis virer de bord sur le dernier (0-999).