2017-02-19 4 views
1

Я пытаюсь использовать django-import-export для загрузки данных в свой интерфейс администратора Django.Как получить доступ к данным строки в before_save_instance для экспорта импорта в Django

Во время ввода я хочу выполнить некоторую сложную проверку данных, которая включает в себя создание и/или модификацию других моделей, связанных с тем, который загружается с помощью django-import-export.

Кажется, что крючок before_save_instance - это время в import workflow, что я хочу выполнить эту сложную проверку.

Вводные параметры 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), чтобы получить доступ к информации исходного ряда.

 Смежные вопросы

  • Нет связанных вопросов^_^