Строка 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])