Wie filtert man in Django ein QuerySet mit dynamischen Feldsuchen?

| | | | | | | | | |

Wenn eine Klasse gegeben ist:

aus django.db importiere Modelle der Klasse Person(models.Model): name = models.CharField(max_length=20) 

Ist es möglich, und wenn ja, wie, ein QuerySet zu haben, das basierend auf dynamischen Argumenten filtert? Zum Beispiel:

 # Statt: Person.objects.filter(name__startswith="B") # ... und: Person.objects.filter(name__endswith="B") # .. Gibt es eine Möglichkeit, gegeben: filter_by = "{0}__{1}".format("name", "startswith") filter_value = "B" # ... dass Sie das Äquivalent davon ausführen können? Person.objects.filter(filter_by=filter_value) # ... was eine Ausnahme auslöst, da `filter_by` kein # Attribut von `Person` ist.