単純な xls ファイルのインポートを実装し、django-import-export を使用してモデルに保存しようとしています。残念ながら、ドキュメントは管理統合のみをカバーしています。私は私のサンプルコードでここに行き詰まっています:
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)
このモジュールを理解している誰かが、この一般的な例のコードを完成させるのを手伝ってくれますか?
または、Googleを使用して見つけられなかったネット上のどこかに切り取られた一般的な例がありますか?
編集:
アレックスの回答に基づいて、実用的な解決策を見つけることができました:
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)