Hoe filter je in Django een QuerySet met dynamische veldzoekopdrachten?

| | | | | | | | | |

Gegeven een klasse:

van django.db importeer modellenklasse Person(models.Model): name = models.CharField(max_length=20) 

Is het mogelijk, en zo ja hoe, om een QuerySet te hebben die filtert op basis van dynamische argumenten? Bijvoorbeeld:

 # In plaats van: Person.objects.filter(name__startswith="B") # ... en: Person.objects.filter(name__endswith="B") # .. . is er een manier, gegeven: filter_by = "{0}__{1}".format("name", "startswith") filter_value = "B" # ... dat u het equivalent hiervan kunt uitvoeren? Person.objects.filter(filter_by=filter_value) # ... waardoor een uitzondering wordt gegenereerd, aangezien `filter_by` niet # een attribuut is van `Persoon`.