首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django导入基于值非模型字段添加多对多关系

Django导入基于值非模型字段添加多对多关系
EN

Stack Overflow用户
提问于 2020-09-22 19:15:44
回答 1查看 97关注 0票数 1

我正在使用django- import -export来导入xls。

在xls中是一个布尔型字段is_senior,它不是一个模型字段。

在模型中,我与具有初级、高级等的模型Level建立了多对多关系。

如果是is_senior is True,我想:

代码语言:javascript
复制
senior = Level.objects.filter(name__icontains = 'senior').first()
instance.level.add(senior)

但问题是:before_import_row知道非模型字段,但不能添加m2m关系after_save_instance没有非模型字段

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-23 15:14:15

您可以在资源实例上设置临时属性:

代码语言:javascript
复制
    def before_import_row(self, row, row_number=None, **kwargs):
        self.is_senior = row.get("is_senior")


    def after_save_instance(self, instance, using_transactions, dry_run):
        print(self.is_senior)

只要行没有因为任何原因而被跳过(定义了skip_row()或出现错误),这就会起作用。彻底测试以确保is_senior设置正确。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64008555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档