¿Cómo pasar el nombre de campo para filtrar en django?

Filtrar en Django es bastante sencillo si sabe qué nombre de campo está filtrando:

Entry.objects.filter(headline__startswith="What")

Pero si me gustaría pasar el nombre de campo "título", se vuelve más difícil:

kwargs = {request.GET['fieldname'] : request.GET['query']}
Entry.objects.filter(**kwargs)

Sin embargo, el problema con la solución anterior es, ¿cómo paso en el __startswith ¿ahí?

preguntado el 05 de septiembre de 12 a las 10:09

1 Respuestas

kwargs = {"%s__startswith" % (request.GET['fieldname']) : request.GET['query']}
Entry.objects.filter(**kwargs)

Respondido el 05 de Septiembre de 12 a las 10:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.