前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django-import-export 继承resources.ModelResource 重写方法不生效问题

Django-import-export 继承resources.ModelResource 重写方法不生效问题

作者头像
小贝壳
发布2020-03-12 10:06:26
1.8K0
发布2020-03-12 10:06:26
举报
文章被收录于专栏:贝塔博客贝塔博客

我们随便在网上找一篇文章,关于django-import-export插件的,都是以下的写法:

代码语言:javascript
复制
class ReturnGoodsResource(resources.ModelResource):
    #任意重写个方法,都不会生效
  def before_import_row(self, row, **kwargs):
        print(row)

    class Meta:
        model = ReturnGoods

@admin.register(ReturnGoods)
class ReturnGoodsAdmin(ImportExportModelAdmin):
    resources = ReturnGoodsResource 

各种调试,查阅文档,都没解决。后来查看官方的demo,发现就一个地方写法有问题。这个问题可能是由于版本升级造成的。

最新版本的 admin中指定resource要用resource_class而不是resources,就这一个小小的却别。

改成下方这种写法就可以了:

代码语言:javascript
复制
class ReturnGoodsResource(resources.ModelResource):

  def before_import_row(self, row, **kwargs):
        print(row)

    class Meta:
        model = ReturnGoods

@admin.register(ReturnGoods)
class ReturnGoodsAdmin(ImportExportModelAdmin):
    resource_class = ReturnGoodsResource    

具体写法可以参考这个官方给出的demo(码云镜像地址):

https://gitee.com/tompeppa/django-import-export/blob/master/tests/core/admin.py

作者:贝塔博客 出处:http://www.88cto.com/article/oF3kGqKn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档