Если вы немного измените свое представление:
fields = {u'question': u'{"field": "django.forms.CharField", "params": {"max_length": 512}}'}
, тогда вы можете использовать следующее:
from django.utils import importlib, simplejson
def get_field(fname):
module, name = fname.rsplit('.', 1)
return getattr(importlib.import_module(module), name)
print dict((k.encode('ascii', 'ignore'), get_field(v['field'])(**v['params']))
for k, v in ((k, simplejson.loads(v)) for k, v in fields.iteritems()))