django批量用户导入用户django-import-export

时间:2016-04-18 17:25:52

标签: django django-import-export

我想在django中使用导入导出批量用户导入

我得到一个文件包含用户列表,然后根据文件行创建用户

我尝试像这样实现before_import

notifyDataSetChanged()

但它返回元组'对象不支持项目分配

2 个答案:

答案 0 :(得分:1)

对于密码,您可以编写自己的密码widget,将普通密码转换为哈希密码。像这样(未经测试):

class PassWidget(Widget):
    def clean(self, value):
        if self.is_empty(value):
            return None
        return make_password(value)
    def render(self, value):
        return force_text(value)

答案 1 :(得分:0)

我希望您在导入之前尝试对密码进行哈希处理。 它可以帮助您:

    from import_export import resources, fields
    from import_export.admin import ImportExportModelAdmin
    from django.contrib.auth.hashers import make_password

    class UserResource(resources.ModelResource):

       groups = fields.Field(
           column_name='group_name',
           attribute='groups',
           widget=ManyToManyWidget(Group, ',','name')
       )
       def before_import_row(self,row, **kwargs):
           value = row['password']
           row['password'] = make_password(value)
       class Meta:
           model = User