我想实现一个简单的xls文件导入并使用django-import-export保存到模型。 不幸的是,文档只涵盖管理集成。 我在这里停留在我的示例代码:django-import-export outside admin
class UploadFileForm(forms.Form):
file = forms.FileField()
class ExportSpec(resources.ModelResource):
class Meta:
model = Specialty
view:
def ca_import(request):
if request.method == 'POST' and 'import_test' in request.POST:
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
filehandle = request.FILES['file']
dataset = ???
result = ExportSpec().import_data(dataset, dry_run=False,
raise_errors=True,
user=request.user)
有人用这个模块的了解可以帮助我完成代码把这个通用的例子吗?
或者是有一个通用的例子,在网上找到我没有发现使用谷歌?
编辑:
基于亚历克斯回答我能找到一个有效的解决方案:
def ca_import(request):
if request.method == 'POST' and 'import_test' in request.POST:
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
file = form.cleaned_data['file']
data = bytes()
for chunk in file.chunks():
data += chunk
dataset = XLS().create_dataset(data)
result = ExportSpec().import_data(dataset, dry_run=False, raise_errors=True, user=request.user)
代码看起来不错,到目前为止。你遇到什么样的错误,或者你面临什么具体问题? –
请参阅行“dataset = ???”。我相信我必须从文件句柄中获取数据集。 – caliph