Bau Django-filter-Abfragen dynamisch mit args und kwargs

Ich Baue einige Django-filter-Abfragen-dynamisch, mit diesem Beispiel:

kwargs = { 'deleted_datetime__isnull': True }
args = ( Q( title__icontains = 'Foo' ) | Q( title__icontains = 'Bar' ) )
entries = Entry.objects.filter( *args, **kwargs )

Ich bin nur nicht sicher, wie Sie zu konstruieren, den Eintrag für args. Sagen, dass ich diese array:

strings = ['Foo', 'Bar']

Wie komme ich von dort:

args = ( Q( title__icontains = 'Foo' ) | Q( title__icontains = 'Bar' ) 

Die nächsten die ich bekomme ist:

for s in strings:
    q_construct = Q( title__icontains = %s) % s
    args.append(s)

Aber ich weiß nicht, wie Sie die | Zustand.

InformationsquelleAutor Richard | 2011-12-14
Schreibe einen Kommentar