from django.core.management.base import BaseCommand, CommandError from django.contrib.auth import get_user_model from dispatch.models import Company, Contact, Load import yaml User = get_user_model() class Command(BaseCommand): help = "Import Objects from a YML file" def add_arguments(self, parser): parser.add_argument('--file', type=str, dest='filename') def handle(self, *args, **options): yml_data = open(options['filename']).read() parsed = yaml.load(yml_data) self.parse_users(parsed['users']) self.parse_loads(parsed['loads']) def parse_loads(self, loads): for l in loads: try: new_user = Load( load_number=u['load_number'], date=u['date'], user=u['user_email'], user=u['user'], ) new_user.save() except: print("Error on user %s" % u['email']) def parse_users(self, users): for u in users: try: new_user = User( first_name=u['firstName'], last_name=u['lastName'], email=u['email'], username=u['firstName'] is_active=u['active'] ) new_user.save() except: print("Error on user %s" % u['email'])