import os, sys, django, csv, json sys.path.append("../") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() from django.contrib.auth import get_user_model from access.models.other import Account if __name__ == '__main__': with open('./access/users.csv') as user_csv: user_reader = csv.DictReader(user_csv) for row in user_reader: try: row = dict(row) try: row['role_list'] = [row['role_list'].split("\'")[1]] except IndexError: row['role_list'] = [] get_user_model().objects.get_or_create(**row) except ValueError as e: if str(e) == 'The given email must be set': print(e) else: raise e with open('./access/account.csv') as account_csv: account_reader = csv.DictReader(account_csv) for row in account_reader: row = dict(row) try: acc = Account.objects.get(owner=get_user_model().objects.get(id=row['owner'])) acc.phone = row['phone'] if row['phone'] and len(row['phone']) < 16 else None acc.city = row['city'] if row['city'] else None acc.photo = row['photo'] acc.d_day = row['d_day'] if row['d_day'] else None acc.save() except (Account.DoesNotExist, get_user_model().DoesNotExist): pass