Campo modelo Django por variable.

Pregunta rápida. Estoy intentando acceder a uno de los campos de un modelo usando una variable.

class ExampleModel(models.Model): the_field = models.CharField() the_field_two = models.CharField() 

¿Cómo acceder al campo dinámicamente? Lo intenté:

 model = ExampleModel.objects.get(pk=1) fieldtoget = 'the_field' test_var = model[fieldtoget] 

Pero no parece funcionar, ¿alguna idea de cómo haría esto?

Actualización: Pensé que actualizaría mi pregunta. Estoy tratando de escribir una función (como parte de una función más grande) que no solo puede obtener el valor del campo sino también actualizarlo desde un nombre de campo variable. Por ejemplo:

 model[fieldtoget] = 'yo' model.save() 

En PHP puede usar el envoltorio {} – $model{$fieldtoget} – como ejemplo, para los nombres de variables dinámicas esperaba que hubiera algo similar en Python 🙂

Aclamaciones

Puedes usar la función getattr de pythons para hacer esto. Pase el nombre del campo como el atributo.

 getattr(model, fieldtoget) 

Dado que fieldtoget es una variable, esto es dynamic.

Puedes usar setattr para configurarlo de la misma manera.