Ваше ожидание того, что a##dummyvar
оценит a<value of dummyvar>
, в корне неправильно понимает, что делают макросы (то есть простая подстановка текста). Вывод adummy
правильный.
Вы не можете добиться динамического доступа к значениям переменных во время выполнения с помощью макросов, как вы пытаетесь здесь, поскольку они оцениваются до компиляции и не знают состояния программы во время выполнения.
Можно определить clean_FIELD_NAME () методы, которые могут проверить и изменить данные, как зарегистрировано здесь: http://docs.djangoproject.com/en/dev/ref/forms/validation/#ref-forms-validation