Import 想要覆盖未更改的字段
Import wants to override unchanged fields
如果我导出到 xlsx 并重新导入,Django-Import-Export 会报告覆盖的字段,但没有任何变化。我已经尝试用 skip_row() 方法自己调试它,但我认为我通常做错了什么
resources.py
class FormatClassResource(resources.ModelResource):
number = fields.Field(column_name="Nummer", attribute="number")
barcode = fields.Field(column_name="Barcode", attribute="barcode")
name = fields.Field(column_name="Name", attribute="name")
price = fields.Field(column_name="Preis", attribute="price")
class Meta:
model = FormatClass
use_bulk = True
use_transactions = True
skip_unchanged = True
import_id_fields = ["number", "barcode", "name", "price"]
exclude = ["id"]
Import result
可能有帮助的几点:
- 导入过程将尝试根据
import_id_fields
中的所有四个属性加载现有数据
- 然后它将您的 Excel 文件中的所有字段(对应于
FormatClass
中的属性)与持久化的内容进行比较,如果其中任何一个不匹配,它将报告一个 'update'
- 设置一个断点here来捕获它认为已经改变的字段。
如果我导出到 xlsx 并重新导入,Django-Import-Export 会报告覆盖的字段,但没有任何变化。我已经尝试用 skip_row() 方法自己调试它,但我认为我通常做错了什么
resources.py
class FormatClassResource(resources.ModelResource):
number = fields.Field(column_name="Nummer", attribute="number")
barcode = fields.Field(column_name="Barcode", attribute="barcode")
name = fields.Field(column_name="Name", attribute="name")
price = fields.Field(column_name="Preis", attribute="price")
class Meta:
model = FormatClass
use_bulk = True
use_transactions = True
skip_unchanged = True
import_id_fields = ["number", "barcode", "name", "price"]
exclude = ["id"]
Import result
可能有帮助的几点:
- 导入过程将尝试根据
import_id_fields
中的所有四个属性加载现有数据
- 然后它将您的 Excel 文件中的所有字段(对应于
FormatClass
中的属性)与持久化的内容进行比较,如果其中任何一个不匹配,它将报告一个 'update' - 设置一个断点here来捕获它认为已经改变的字段。