【问题标题】:How to seperate import and export fields in Django-Import-Export如何在 Django-Import-Export 中分离导入和导出字段
【发布时间】:2021-06-07 19:59:03
【问题描述】:
我正在使用 Django-Import-Export 并有一个如下所示的模型字段
id、日期、val1、val2、val3
我想要的是只导入 2 个字段(日期和 val1)
我想导出 4 个字段(日期 val1 val2 val3)
如果我喜欢下面的内容,我可以看到导入字段发生变化,但在导出中只有 2 个字段出现
class MyResource(ExportImportObjectHere):
class Meta:
model = ModelName
skip_unchanged = True
fields = ('date', 'val1')
【问题讨论】:
标签:
python
django
django-import-export
【解决方案1】:
您可以覆盖get_import_fields() 和get_export_fields():
class MyResource(ExportImportObjectHere):
get_import_fields(self):
fields = super().get_import_fields()
return [f for f in fields if f.attribute in self._meta.import_fields]
def get_export_fields(self):
fields = super().get_export_fields()
return [f for f in fields if f.attribute in self._meta.export_fields]
class Meta:
model = ModelName
skip_unchanged = True
fields = ('date', 'val1')
# these lists declare the attribute name of the model
import_fields = ('date', 'val1')
export_fields = ('date', 'val1', 'val2', 'val3')