Python Django管理导入\用于自定义导入的导出模块
我正试图遵循进出口部的官方文件: 但是我仍然不知道如何将它粘贴到我的管理员上,假设:Python Django管理导入\用于自定义导入的导出模块,python,django,csv,django-admin,django-import-export,Python,Django,Csv,Django Admin,Django Import Export,我正试图遵循进出口部的官方文件: 但是我仍然不知道如何将它粘贴到我的管理员上,假设: 我只需要字段的子集(我用列出的字段创建了资源模型,但它在导入时崩溃了,下面是:KeyErrorfull stack) 其中-在哪个方法中-在我的管理类中(当然继承ImportExportModelAdmin并使用已定义的资源类)我是否应该将负责某些自定义操作的代码放置在验证之后,即导入数据是正确的,但在将数据插入数据库之前 我在Django的水平不是很高,如果能得到一些提示,我将不胜感激。 如果您知道gith
KeyError
full stack)ImportExportModelAdmin
并使用已定义的资源类
)我是否应该将负责某些自定义操作的代码放置在1.请在堆栈后跟踪,可能有一些输入错误2.在resource_类中,您可以覆盖一些方法(在import_workflow中列出),这些方法是带着相关问题到达这里的,但我能告诉您的最好情况是添加
“id”
到标题
不会实例化空白列,并导致导入_导出
创建新记录并自动递增整数pk。添加一整列无
值会起作用(数据集。追加列([None for row in range(len(dataset)),标题='id'
),尽管这可能不是最优雅的解决方案。
def get_instance(self, instance_loader, row):
return False
def save_instance(self, instance, real_dry_run):
if not real_dry_run:
try:
obj = YourModel.objects.get(some_val=instance.some_val)
# extra logic if object already exist
except NFCTag.DoesNotExist:
# create new object
obj = YourModel(some_val=instance.some_val)
obj.save()
def before_import(self, dataset, dry_run):
if dataset.headers:
dataset.headers = [str(header).lower().strip() for header in dataset.headers]
# if id column not in headers in your file
if 'id' not in dataset.headers:
dataset.headers.append('id')