我试图遵循import-export
的正式文件:
但我仍然不知道如何将其粘贴到我的管理员假设:
我只想要字段的子集(我创建了带有列出字段的资源模型,但是当导入时它崩溃了:KeyError
完整堆栈如下。
其中 - 在哪种方法中 - 在我的管理类中(继承当前ImportExportModelAdmin
并使用已定义的resource_class
)我应该将代码放在某个自定义上我希望在验证后发生的操作,导入数据是正确的,但之前将它们插入数据库。
我在Django中不是很先进,并会感谢一些提示。 工作实现的例子将不胜感激,所以如果你在github上知道类似的东西 - 分享。
答案 0 :(得分:0)
您可以将其覆盖为
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')