[英]django-import-export outside admin
I am trying to implement a simple xls file import and save to a model using django-import-export. 我正在尝试实现一个简单的xls文件导入并使用django-import-export保存到模型。 Unfortunately the docs only cover the admin integration. 不幸的是,文档仅涵盖了管理集成。 I am stuck here in my example code: 我被困在我的示例代码中:
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)
Can someone with understanding of this module help me complete the code for this generic example? 了解此模块的人是否可以帮助我完成此通用示例的代码?
Or is there a generic example snipped somewhere on the net which I did not find using google? 或者是否有一个通用的例子在网上的某个地方剪断了我用google找不到的?
EDIT: 编辑:
Based on Alex answer I was able to find a working solution: 根据Alex的回答,我找到了一个可行的解决方案:
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)
You should use the Format.create_dataset()
method: 您应该使用Format.create_dataset()
方法:
from import_export.formats.base_formats import XLS
def your_view():
filehandle = form.cleaned_data['file']
data = bytes()
for chunk in import_file.chunks():
data += chunk
dataset = XLS().create_dataset(data)
result = ExportSpec().import_data(...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.