# Generated by Django 5.1.15 on 2026-09-03 03:36 import apps.accounts.models import django.utils.timezone from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ("auth", "0012_alter_user_first_name_max_length"), ] operations = [ migrations.CreateModel( name="User", fields=[ ( "id", models.BigAutoField( 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( db_index=True, max_length=254, unique=True, verbose_name="email address" ), ), ( "full_name", models.CharField(blank=True, max_length=150, verbose_name="full name"), ), ( "role", models.CharField( choices=[ ("admin", "Administrator"), ("analyst", "Analyst"), ("viewer", "Viewer"), ], default="viewer", help_text="Determines which fields and actions the user has access to.", max_length=16, verbose_name="role", ), ), ("is_active", models.BooleanField(default=True, verbose_name="active")), ("is_staff", models.BooleanField(default=False, verbose_name="staff status")), ( "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", "ordering": ("-date_joined",), }, managers=[ ("objects", apps.accounts.models.UserManager()), ], ), ]