问题描述
我想在导入的excel表中追加一列,该列将包含模型的ForeignKey(所有行中都相同,此foreignKey是从与.xlsx相同的形式获得的),但是我不能让它起作用。如果我用列和ID上传Excel,则可以正常运行。这是我的代码: views.py
def article_import(request):
if request.method == 'POST':
provider_id = request.POST['provider_id']
article_resource = ArticleResource()
dataset = Dataset()
nuevos_articulos = request.FILES['xlsfile']
data_to_import = dataset.load(nuevos_articulos.read())
result = article_resource.import_data(dataset,dry_run=True,provider_id=provider_id) #Test data
if not result.has_errors():
article_resource.import_data(dataset,dry_run=False,provider_id=provider_id) #Import data
return redirect('dash-articles')
return redirect('/dashboard/articles/?error=True')
else:
providers = Provider.objects.all().order_by('razon_social')
return render(request,'import/articles_import.html',{'providers': providers})
resource.py
class ArticleResource(resources.ModelResource):
class Meta:
model = Article
skip_unchanged = True
report_skipped = False
import_id_fields = ('codigo',)
def before_import(self,dataset,using_transactions,dry_run,**kwargs):
dataset.append_col([kwargs['provider_id'],],header='proveedor')
print(dataset)
return super().before_import(dataset,**kwargs)
“ before_import”中的代码是我正在测试的内容,但是我无法使“ append_col”功能生效。我会很感激您的帮助,如果有更好的解决方案,请告诉我,谢谢!!!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)