class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0007_alter_validators_add_error_messages'), ('ad', '0001_initial'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 30 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=30, unique=True, validators=[django.core.validators.RegexValidator('^[\\w.@+-]+$', 'Enter a valid username. This value may contain only letters, numbers and @/./+/-/_ characters.')], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('image', models.ImageField(blank=True, null=True, upload_to=custom_user.models.make_upload_path, verbose_name='\u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435')), ('city', models.CharField(blank=True, max_length=50, verbose_name='\u0433\u043e\u0440\u043e\u0434')), ('ads_count', models.PositiveIntegerField(db_index=True, default=0, verbose_name='\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439')), ('show_email', models.BooleanField(default=False, verbose_name='\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c e-mail')), ('show_message_button', models.BooleanField(default=True, verbose_name='\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439')), ('subscribe_info', models.BooleanField(default=True, verbose_name='\u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)')), ('subscribe_news', models.BooleanField(default=True, verbose_name='\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0441\u0442\u0438 \u0441\u0430\u0439\u0442\u0430')), ('receive_sms', models.BooleanField(default=True, verbose_name='\u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c SMS-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f')), ('language', models.CharField(choices=[(b'ru', '\u0420\u0443\u0441\u0441\u043a\u0438\u0439'), (b'uk', '\u0423\u043a\u0440\u0430\u0438\u043d\u0441\u043a\u0438\u0439')], default=b'ru', max_length=2, verbose_name='\u044f\u0437\u044b\u043a')), ('ip_addresses', django.contrib.postgres.fields.ArrayField(base_field=models.GenericIPAddressField(verbose_name='\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 IP \u0430\u0434\u0440\u0435\u0441\u0430'), blank=True, default=[], size=10)), ('last_action', models.DateTimeField(blank=True, null=True, verbose_name='last action')), ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('manager', models.ForeignKey(blank=True, help_text='\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='managed_users', to=settings.AUTH_USER_MODEL, verbose_name='\u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440')), ], options={ 'abstract': False, 'verbose_name': 'user', 'verbose_name_plural': 'users', }, bases=(models.Model, dirtyfields.dirtyfields.DirtyFieldsMixin), managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='UserPhone', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('order', models.PositiveIntegerField(verbose_name='\u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440')), ('phone', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='users_m2m', to='ad.Phone', verbose_name='\u0442\u0435\u043b\u0435\u0444\u043e\u043d')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='phones_m2m', to=settings.AUTH_USER_MODEL, verbose_name='\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c')), ], options={ 'ordering': ['order'], 'verbose_name': '\u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f', 'verbose_name_plural': '\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f', }, ), migrations.AddField( model_name='user', name='phones', field=models.ManyToManyField(related_name='users', through='custom_user.UserPhone', to='ad.Phone', verbose_name='\u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b'), ), migrations.AddField( model_name='user', name='region', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ad.Region', verbose_name='\u0440\u0435\u0433\u0438\u043e\u043d'), ), migrations.AddField( model_name='user', name='user_permissions', field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'), ), migrations.AlterUniqueTogether( name='userphone', unique_together=set([('phone', 'user')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0008_alter_user_username_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField( error_messages={ 'unique': 'A user with that username already exists.' }, help_text= 'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[ django.contrib.auth.validators. UnicodeUsernameValidator() ], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=30, verbose_name='last name')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', custom_user.models.CustomUserManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='Email Address')), ('full_name', models.CharField(blank=True, db_column='full_name', max_length=50, null=True, verbose_name='Full Name')), ('user_image', models.ImageField(blank=True, db_column='user_image', null=True, upload_to='user/profile/photo/', verbose_name='Profile Image')), ('device_token', models.CharField(blank=True, db_column='device_token', max_length=50, null=True, verbose_name='Device Token')), ('about_me', models.TextField(blank=True, db_column='about_me', null=True, verbose_name='About Me')), ('location', models.TextField(blank=True, db_column='location', null=True, verbose_name='Location')), ('address', models.TextField(blank=True, db_column='address', null=True, verbose_name='Address')), ('zip_code', models.BigIntegerField(blank=True, db_column='zip_code', null=True, verbose_name='Zip Code')), ('latitude', models.BigIntegerField(blank=True, db_column='latitude', null=True, verbose_name='Latitude')), ('longitude', models.BigIntegerField(blank=True, db_column='longitude', null=True, verbose_name='Longitude')), ('distance', models.IntegerField(blank=True, db_column='distance', null=True, verbose_name='Distance')), ('otp', models.IntegerField(blank=True, db_column='otp', null=True, verbose_name='OTP')), ('update_by', models.IntegerField(blank=True, db_column='update_by', null=True, verbose_name='Update By')), ('update_dt', models.IntegerField(blank=True, db_column='update_dt', null=True, verbose_name='Update Dt')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name_plural': 'User Info', 'db_table': 'User_Info', }, managers=[ ('objects', custom_user.models.UserManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('password', models.CharField( default= 'pbkdf2_sha256$150000$MHoY0aLcK4Rr$zs1gEGrgoL3QvAC5MafW+C9AlwjBaF+md0iEocOA9IQ=', max_length=128, verbose_name='password')), ('recentdate_login_via_passwd', models.DateTimeField(blank=True, null=True, verbose_name='last login via password')), ('recentdate_login_via_otp', models.DateTimeField(blank=True, null=True, verbose_name='last login via otp')), ('recentdate_password_change', models.DateTimeField(blank=True, null=True, verbose_name='last password change')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('email', models.EmailField( error_messages={'unique': 'This email already exists.'}, help_text='Please Enter valid Email Address', max_length=254, unique=True, verbose_name='email address')), ('is_active', models.BooleanField( default=False, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('recent_otp_used_for_pass_change', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('date_of_recent_otp_used_for_pass_change', models.DateTimeField(null=True)), ('otp_used_while_passlogin_create', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('date_of_otp_used_while_passlogin_create', models.DateTimeField(null=True)), ('first_otp_used_for_otplogin', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('date_of_first_otp_used_for_otplogin', models.DateTimeField(null=True)), ('about', models.TextField(blank=True, max_length=500)), ('location', models.CharField(blank=True, max_length=30)), ('birth_date', models.DateField(blank=True, null=True)), ('modified_date', models.DateTimeField(auto_now=True, verbose_name='modified date')), ('creation_date', models.DateTimeField(auto_now_add=True, verbose_name='creation date')), ('last_login2', models.DateTimeField(blank=True, verbose_name='last login 2')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'abstract': False, 'swappable': 'AUTH_USER_MODEL', }, managers=[ ('objects', custom_user.models.UserManager()), ], ), migrations.CreateModel( name='ActionTypeForUserSessionLog', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('action', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='UserSessionLog', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_email', models.EmailField(max_length=254)), ('otp_used_for_pass_change', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('otp_used_while_passlogin_create', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('otp_used_for_otplogin', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('device_type', models.CharField(max_length=255)), ('ip_address', models.GenericIPAddressField()), ('created_time', models.DateTimeField(default=django.utils.timezone.now)), ('action_type', models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='custom_user.ActionTypeForUserSessionLog')), ('user', models.ForeignKey(on_delete=models.SET( custom_user.models.get_sentinel_user), to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email')), ('full_name', models.CharField(blank=True, max_length=400, null=True, verbose_name='full name')), ('is_staff', models.BooleanField(default=False, verbose_name='staff status')), ('is_active', models.BooleanField(default=True, verbose_name='active')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'abstract': False, }, managers=[ ('objects', custom_user.models.UserAccountManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('first_name', models.CharField(max_length=30, verbose_name='first name')), ('last_name', models.CharField(max_length=150, verbose_name='last name')), ('email', models.EmailField( error_messages={'unique': 'This email already exists.'}, help_text='Please Enter valid Email Address', max_length=254, unique=True, verbose_name='email address')), ('is_active', models.BooleanField( default=False, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('about', models.TextField(blank=True, max_length=500)), ('location', models.CharField(blank=True, max_length=30)), ('birth_date', models.DateField(blank=True, null=True)), ('email_confirmed', models.BooleanField(default=False)), ('jwt_secret', models.UUIDField(default=uuid.uuid4, editable=False)), ('otp_emailconfirm', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('otp_passconfirm', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('otp_loginconfirm', models.CharField( help_text='Please Enter valid OTP sent to your Email', max_length=6, validators=[ django.core.validators.RegexValidator( '^\\d{6}$', code='invalid', message='OTP shoud be of 6 digits') ], verbose_name='otp')), ('otp_modified_date_emailconfirm', models.DateTimeField(null=True)), ('otp_modified_date_passconfirm', models.DateTimeField(null=True)), ('otp_modified_date_loginconfirm', models.DateTimeField(null=True)), ('modified_date', models.DateTimeField(auto_now=True)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'abstract': False, 'swappable': 'AUTH_USER_MODEL', }, managers=[ ('objects', custom_user.models.UserManager()), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=False, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('user_type', models.PositiveSmallIntegerField(choices=[( 1, 'admin'), (2, 'restaurant'), (3, 'dpartner'), (4, 'user')])), ('phone', models.CharField(max_length=20, unique=True)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, 'swappable': 'AUTH_USER_MODEL', }, managers=[ ('objects', custom_user.models.CustomUserManager()), ], ), ]