aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Riedstra <Mitch@riedstra.us>2017-10-09 22:31:06 -0400
committerMitch Riedstra <Mitch@riedstra.us>2017-10-09 22:31:06 -0400
commit5f137f66f19e60fb6f4b44a2d85076223e5837c5 (patch)
treef48698e68bf2530e26ff2fea75c55b2615b3488a
parent14d4ae41cfe784e7a568d91537696cfd3d8bb9be (diff)
downloaddispatch-tracker-5f137f66f19e60fb6f4b44a2d85076223e5837c5.tar.gz
dispatch-tracker-5f137f66f19e60fb6f4b44a2d85076223e5837c5.tar.xz
Handle Duplicate users and create more sane usernames
-rw-r--r--app/dispatch/management/commands/insert_fake_data.py32
1 files changed, 23 insertions, 9 deletions
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()