如何在front_save_instance中访问Django Import Export中的行数据

时间:2017-02-19 03:37:00

标签: python django django-import-export

我尝试使用django-import-export将数据加载到我的Django网站管理界面。

在输入过程中,我想做一些复杂的数据验证,包括使用django-import-export创建和/或修改与上传的模型相关的其他模型。

似乎before_save_instance挂钩是import workflow中我想要执行此复杂验证的时间。

before_save_instance的输入参数仅包含要更新的模型的对象,该对象不包含正在导入的行中的所有数据。

特别是我没有看到任何地方导入行中的只读字段(我需要它们作为验证逻辑)。

如何访问从before_save_instance内部导入的整行?

1 个答案:

答案 0 :(得分:1)

事实证明,您可以通过以下方式获取相关对象上的字段列表:

priority

对于给定的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) 方法以访问原始行信息。