From 5f137f66f19e60fb6f4b44a2d85076223e5837c5 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Mon, 9 Oct 2017 22:31:06 -0400 Subject: Handle Duplicate users and create more sane usernames --- .../management/commands/insert_fake_data.py | 32 ++++++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) (limited to 'app/dispatch') diff --git a/app/dispatch/management/commands/insert_fake_data.py b/app/dispatch/management/commands/insert_fake_data.py index b8d7f56..13dd993 100644 --- a/app/dispatch/management/commands/insert_fake_data.py +++ b/app/dispatch/management/commands/insert_fake_data.py @@ -5,6 +5,10 @@ from faker import Faker from datetime import date, timedelta import random +# So we can check if a user already exists +from django.core.exceptions import ObjectDoesNotExist +from django.db.utils import IntegrityError + # import yaml User = get_user_model() @@ -85,13 +89,23 @@ class Command(BaseCommand): def fake_user(self): - new_user = User( - first_name=self.fake.first_name(), - last_name=self.fake.last_name(), - email=self.fake.email(), - username=self.fake.user_name(), - is_active=True - ) - new_user.save() - return new_user + ffname = self.fake.first_name() + flname = self.fake.last_name() + funame = ffname[0] + flname + funame = '%s.%s' % (ffname, flname) + + try: + new_user = User( + first_name=ffname, + last_name=flname, + email=self.fake.email(), + # Set the fake user name to be the first initial and last name + username=funame, + is_active=True + ) + new_user.save() + return new_user + except IntegrityError: + # Around and around we go until we get something new + return self.fake_user() -- cgit v1.2.3