Można łatwo to zrobić deklarując swoją funkcję tak:
def filter(**kwargs):
czynność zostanie teraz przekazany do słownika nazwie kwargs zawierający słowa kluczowe i wartości przekazywane do twojej funkcji. Zauważ, że syntaktycznie słowo kwargs
jest bez znaczenia; **
jest przyczyną dynamicznego zachowania słów kluczowych.
Można również wykonać odwrotność. Jeśli wywołanie funkcji i masz słownika, który odpowiada na argumenty, można zrobić
someFunction(**theDictionary)
Istnieje również mniejsze wykorzystywane foo * wariant, który powoduje, że można otrzymać tablicę argumentów. Jest to podobne do zwykłych tablic C vararg.
Zobacz http://stackoverflow.com/questions/310732/in-django-how-does-one-filter-a-queryset-with-dynamic-field-lookups –