Dans Django, comment filtrer un QuerySet avec des recherches de champs dynamiques ?

| | | | | | | | | |

Étant donné une classe :

de la classe de modèles d'importation django.db Person(models.Model) : name = models.CharField(max_length=20) 

Est-il possible, et si oui comment, d'avoir un QuerySet qui filtre en fonction d'arguments dynamiques ? Par exemple :

 # Au lieu de : Person.objects.filter(name__startswith="B") # ... et : Person.objects.filter(name__endswith="B") # .. . existe-t-il un moyen, étant donné : filter_by = "{0}__{1}".format("name", "startswith") filter_value = "B" # ... que vous puissiez exécuter l'équivalent de ceci ? Person.objects.filter(filter_by=filter_value) # ... qui lèvera une exception, puisque `filter_by` n'est pas # un attribut de `Person`.