Как получить доступ к данным строки в before_save_instance для Django Import Export
Я пытаюсь использовать django-import-export для загрузки данных в интерфейс администратора моего сайта Django.
Во время ввода я хочу выполнить некоторую сложную проверку данных, которая включает создание и / или изменение других моделей, связанных с той, которая загружается в django-import-export.
Кажется, что before_save_instance
hook - это время в рабочем процессе импорта, когда я хочу выполнить эту сложную проверку.
before_save_instance
Входные параметры включают в себя только объект для обновляемой модели, который не содержит все данные из импортируемой строки.
В частности, я не вижу нигде не импортируемых полей только для чтения из строки (и они мне нужны для логики проверки).
Как я могу получить доступ ко всей импортируемой строке изнутри before_save_instance
?
1 ответ
Оказывается, вы можете получить список полей рассматриваемого объекта с помощью:
self.get_fields()
А тебе за данное field
Вы можете получить доступ к значениям для instance
перешел в before_save_instance
с:
field_value = None
try:
field_value = field.get_value(instance).all()
except AttributeError:
field_value = field.get_value(instance)
Вы также можете переопределить before_insert_rows(self, rows, **kwargs)
способ получить доступ к необработанной информации строки.