2

通过覆盖 import_obj,我能够访问新行数据和现有实例。

 def import_obj(self, instance, row, dry_run):
    super(RelationshipResource, self).import_obj(instance, row, dry_run)

    for field in self.get_fields():
        if isinstance(field.widget, widgets.ManyToManyWidget): 
            tags = []
            for tag in instance.tagtag.all():            
                    tags.append(tag.name)                        
            tags.extend(row['tagtag'].split(',')) # concat existing and new tagtag list
            row['tagtag'] = ', '.join(tags) #set as new import value
            # continue to save_m2m
            continue            
        self.import_field(field, instance, row)

但是,在导入工作流程的其他地方,它会比较这些值。由于新的 concat 值包含原始值,因此不会更新该字段。Import 认为没有变化。

如何使用完整的 concat 值保存实例?

4

0 回答 0