【问题标题】:How to delete column before clicking on import using Django import export in admin如何在管理员中使用 Django import export 在单击导入之前删除列
【发布时间】:2020-05-18 00:28:01
【问题描述】:

我想从 csv 中删除一些列,然后再将其导入到管理员中的模型。它在https://django-import-export.readthedocs.io/en/latest/api_resources.html#import_export.resources.Resource.after_import_row 中有一些可覆盖的功能 但我不知道如何编辑它。

【问题讨论】:

    标签: django django-import-export


    【解决方案1】:

    您可以在调用 django-import-export import_data() 函数之前操作内存中的 tablib 对象。

    例如要删除一列,很简单:

    del data['Col Name']
    

    【讨论】:

    • 对不起,这听起来可能很愚蠢,但如果我想说删除多个列,如姓名电子邮件和密码,我能做到吗?怎么做?就像我输入“del data['name', 'password']”但我得到 TypeError: list indices must be integers or slices, not tuple
    • 您可以在loop 中调用del 或使用slicing
    • 因为 csv 尚未上传,我得到 IndexError: list assignment index out of range 因为没有要删除的索引值。当我使用 for key in ('name', 'password'): del data[key] 我得到 TypeError: argument of type 'NoneType' is not iterable 我相信我正在调用函数本身,但我真的很困惑如何继续讨论这个问题。
    • 我建议编辑您的问题,尝试向我们提供有关您正在尝试做的事情的更多详细信息。请包含代码 sn-ps。您是通过管理控制台导入的吗?
    • 我编辑了它。是的,我正在尝试从管理员导入。我只需要一遍又一遍地编辑同一个文件,并将其保存在模型中以获取日志,并使用模型中的数据导出格式化文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    相关资源
    最近更新 更多