Dav*_*ric 7 python django django-models satchmo django-import-export
对于Django模型,我使用的是django-import-export包.
如果需要导出更多只有可用的模型字段(如属性或自定义字段),可以使用import_export.fields.Field类和可选dehydrate_<field>方法添加new .
from import_export import resources, fields, instance_loaders
class ProductResource(resources.ModelResource):
categories = fields.Field()
price = fields.Field(attribute='unit_price')
class Meta:
model = Product
def dehydrate_categories(self, product):
return ';'.join(
'/%s' % '/'.join([c.name for c in cat.parents()] + [cat.name])
for cat in product.category.iterator() )
Run Code Online (Sandbox Code Playgroud)
它确实运作良好,但仅适用于出口.那么进口,反向过程呢?dehydrate_方法有一些对应的吗?
到目前为止,我已经覆盖了get_or_init_instance方法:
class ProductResource(resources.ModelResource):
def get_or_init_instance(self, instance_loader, row):
row['unit_price'] = row['price']; row.pop('price')
return super(ProductResource, self).get_or_init_instance(instance_loader, row)
Run Code Online (Sandbox Code Playgroud)
但怀疑这是正确的方法.
将不胜感激任何提示如何处理自定义字段的导入.
| 归档时间: |
|
| 查看次数: |
3643 次 |
| 最近记录: |