createfakeusers.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. from faker import Factory
  2. from django.contrib.auth import get_user_model
  3. from django.core.exceptions import ValidationError
  4. from django.core.management.base import BaseCommand
  5. from django.db import IntegrityError
  6. class Command(BaseCommand):
  7. help = 'Creates plenty of random fakey users for testing purposes'
  8. def handle(self, *args, **options):
  9. fake_users_to_create = 100000
  10. fake = Factory.create()
  11. User = get_user_model()
  12. message = 'Attempting to create %s fake user accounts!'
  13. self.stdout.write(message % fake_users_to_create)
  14. message = 'Successfully created %s fake user accounts!'
  15. created_count = 0
  16. for i in xrange(fake_users_to_create):
  17. try:
  18. User.objects.create_user(fake.first_name(), fake.email(),
  19. 'pass123')
  20. except (ValidationError, IntegrityError):
  21. pass
  22. else:
  23. created_count += 1
  24. if created_count % 100 == 0:
  25. self.stdout.write(message % created_count)
  26. self.stdout.write(message % User.objects.all().count())