Строка Python для объекта (или класса?)

Я пытаюсь просмотреть список известных элементов, чтобы проверить, были ли они отправлены правильно, а затем что-то с ними сделать. Проблема в том, что мои элементы являются строками, но соответствующий объектный элемент необходим для назначения значения пользовательскому объекту.

Должно ли что-то еще быть там, где находится eval(элемент)?

elements = ('first_name', 'last_name', 'email')

u = request.user

for element in elements:    
    if not element in form.errors:
        dajax.alert('alert: %s' % form.cleaned_data[element])
        u.eval(element) = form.cleaned_data[element]
        dajax.add_css_class('div #%s' % element , 'form-group has-success')

1 ответ

Решение

Использование setattr вот так:

setattr(u, element, form.cleaned_data[element])
Другие вопросы по тегам