from django.contrib.auth.models import Group, Permission from django.contrib.contenttypes.models import ContentType from django.core.management import BaseCommand from django.utils import timezone import pydash as _; _.map = _.map_; _.filter = _.filter_ import random from archilance import util from specializations.models import Specialization from users.models import User class Command(BaseCommand): def handle(self, *args, **options): print('---------------------------------------') print('Generating users...') print('---------------------------------------') User.objects.create_superuser('admin@example.com', '123456') contractor_group = Group.objects.create(name='Исполнители') customer_group = Group.objects.create(name='Заказчики') # ct_proj = ContentType.objects.get_for_model(Project) # ct_spec = ContentType.objects.get_for_model(Specialization) # ct_register = ContentType.objects.get_for_model(RegistrationProfile) # # # proj_perms = Permission.objects.filter(content_type=ct_proj) # spec_perms = Permission.objects.filter(content_type=ct_spec) # ct_register = Permission.objects.filter(content_type=ct_register) # # contractor_group.permissions.add(spec_perms, ct_register) # customer_group.permissions.add(proj_perms, spec_perms, ct_register) def create_user(i): username = 'user-%s' % i return User.objects.create( first_name='User-%s' % i, email='%s@example.com' % username, is_active=True, ) users = _.times(create_user, 50) for user in users: user.set_password('123') user.groups.add(customer_group if user.pk % 2 == 0 else contractor_group) user.save()