2010-11-12 9 views
0

Je réfléchis à une fonction de recherche similaire à iTunes Smart Playlists pour l'utilisateur. Je peux actuellement afficher toutes les années de sortie pour tous les films de la base de données. Un utilisateur peut choisir une année et voir tous les films sortis cette année-là. Ou je peux montrer tous les genres de film. Un utilisateur peut choisir un genre et voir tous les films qui correspondent à ces critères.Recherche filtrée par l'utilisateur dans django

Ce que je veux est une forme que l'utilisateur peut dynamiquement choisir leurs propres critères. Ainsi, par exemple "Release Date" "est après" "2000" AND "Genre" "n'est pas" "Horror" retournerait une liste filtrée. Tous ces choix seraient fournis par l'utilisateur dans un formulaire qui a des choix de liste déroulante.

Cela semble simple d'un point de vue SQL, mais je me demande quelle serait la meilleure implémentation pour passer d'un formulaire django à MySQL. Des suggestions sur un point de départ?

Répondre

0

Créez des dictionnaires à partir de vos éléments de formulaire.

incdict = {'releasedate__gte': datetime.datetime(2000, 1, 1)} 
excdict = {'genre': 'Horror'} 
moviequery = Movie.objects.filter(**incdict).exclude(**excdict)