Значение переменной не соответствует ожидаемому после ее установки [закрыто]
Приложение Django. Я генерирую файл отчета в формате excel. Различные клиенты могут добавлять свои собственные поля, и я пытаюсь добавить их также в отчет (например: weighing number = 75135, humidity = 54%), но поля в отчете появляются пустыми (weighing number = "", humidity = "").
Я устанавливаю field_name=field.name и затем пытаюсь получить значение из словаря с помощью .get(field_name), но вместо этого получаю None, а утверждения print() показывают мне, что field.name = "weighing number" (ожидаемое значение), а field_name = <MultilingualQuerySet [ <OrderRow: ORD017524: Item 1>, <OrderRow: ORD017490: Item 2> ]> (не ожидаемое значение).
field: ClientDefinedField
for field in order_custom_fields:
exportable_fields.insert(
5,
{
"name": field.name,
"header": field.human_readable_name,
"get_data": lambda row, field_name=str(field.name): row.order.extra_fields.get(
"CLIENT_DEFINED_FIELDS", {}
).get(field_name),
},
)
При преобразовании его в список list(row.order.extra_fields.get("CLIENT_DEFINED_FIELDS", {}).values())[0] я получаю поля в отчете заполненными, но неправильно (например: weighing number = 75135, humidity = 75135).
Какова может быть причина такого поведения? Каким может быть альтернативный способ достижения ожидаемого результата?