From 55d02c579acd9dc1ce24d6c8250da7ddea3e5ca0 Mon Sep 17 00:00:00 2001 From: Andrey Date: Tue, 17 Oct 2017 14:23:09 +0300 Subject: [PATCH] rfe --- access/load_users.py | 14 ++++++++++---- access/models.py | 4 ++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/access/load_users.py b/access/load_users.py index 0323910..a27166c 100644 --- a/access/load_users.py +++ b/access/load_users.py @@ -1,4 +1,4 @@ -import os, sys, django, csv +import os, sys, django, csv, json sys.path.append("../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") @@ -11,6 +11,12 @@ if __name__ == '__main__': user_reader = csv.DictReader(user_csv) for row in user_reader: try: - get_user_model().objects.get_or_create(**dict(row)) - except ValueError: - pass + row = dict(row) + print(row['role_list']) + row['role_list'] = json.loads(row['role_list']) + get_user_model().objects.get_or_create(**row) + except ValueError as e: + if e == 'The given email must be set': + print(e) + else: + raise e diff --git a/access/models.py b/access/models.py index 9d000f1..e0b12f6 100755 --- a/access/models.py +++ b/access/models.py @@ -67,6 +67,7 @@ class CustomUserManager(BaseUserManager): if role_list is None: role_list = [] + if not email: raise ValueError('The given email must be set') @@ -88,9 +89,8 @@ class CustomUserManager(BaseUserManager): Account.objects.create(owner=user) if role_list: - for group in json.loads(role_list): + for group in role_list: user.groups.add(group) - user.save(using=self._db) if is_send: pass