Я использую Python, Django и получить следующее сообщение об ошибке:Python Django GetAttr(): Имя атрибута должен быть строкой
getattr(): attribute name must be string
location: val = getattr(obj, field)
if field in headers:
if not isinstance(field, str):
val = getattr(obj, field)
else:
val = getattr(obj, field.LastName)
if callable(val):
val = val()
if type(val) == unicode:
val = val.encode("utf-8")
row.append(val)
Я пробовал много изменения кода, но все потерпели неудачу.
Сообщение об ошибке сообщает вам, что имя атрибута должно быть строкой, и вы специально вызываете 'getattr (obj, field)' после тестирования, что 'field' является * not * строкой. Чего вы ожидали? – BrenBarn
Поле @BrenBarn - это строка, я также использовал val = getattr (obj, «LastName»), но это также не работает. Поскольку я только начал изучать python, я наивна в нем. Я мог бы также загрузить всю свою функцию, если это не устраняет политику stackoverflow. – Abhishek