python - Django 导入导出字段

标签 python django django-import-export

我有一个关于 django-import-export 的简短问题。在我的模型中,我有选择列表:

STATE_CHOICES = ((NEW_STATE, u'New'),
                 (DELIVERED_STATE, u'Delivered'),          
                 (LOST_STATE, u'Lost'),

以及处理名称映射选择的方法

@staticmethod
def get_status_name_by_status(status):
    return next((s[1] for s in MyModel.STATE_CHOICES if s[0] == status), 'Uknown')

我想导入/导出一些数据

class MyModelResource(resources.ModelResource):
    status = fields.Field(column_name='status', attribute='order',
                          widget=ForeignKeyWidget(Order, 'status'))

我想使用 get_status_name_by_status 方法,以便将选项转换为名称。但这里不可能使用方法,只允许使用字段。有什么建议可以做到这一点吗?

最佳答案

您可以使用“get_FOO_display”在 Django 管理中实现此目的:

class MyModelResource(resources.ModelResource):
    status = fields.Field(
        attribute='get_status_display',
        column_name=_(u'Status')
    )

关于python - Django 导入导出字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608952/

相关文章:

python - django-import-export 无法正常工作

Django-import-export 更改/删除上传文件中不存在的针对数据库的记录

python - cassandra 增加了 uwsgi 服务器中的操作超时

Python 中的 Define_method 等效项

python - 你能把一个集合分成相等的部分吗?

python - 在 Django 中登录 Google 应用程序

django - 如何使用 TaggableManager 字段为模型创建 Factory-Boy 工厂

python - Django 的 Distance 函数不返回 Distance 对象

django - Django-import-export-从模型的功能导出吗?

python - 在 for 循环中填充 python 字典返回相同的值