104 lines
3.7 KiB
Python
104 lines
3.7 KiB
Python
|
|
# 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()),
|
||
|
|
],
|
||
|
|
),
|
||
|
|
]
|