Работа с Enum полями

This commit is contained in:
2026-07-30 20:12:39 +03:00
parent abd999d245
commit 50f6638416
26 changed files with 601 additions and 38 deletions

View File

@@ -1,7 +1,8 @@
# Generated by Django 6.0.7 on 2026-07-14 09:26
# Generated by Django 6.0.7 on 2026-07-24 08:25
import django.contrib.auth.models
import django.db.models.deletion
import net.xeaf.rack.enums.workspace_role
import uuid
from django.conf import settings
from django.db import migrations, models
@@ -16,6 +17,23 @@ class Migration(migrations.Migration):
]
operations = [
migrations.CreateModel(
name='WorkspaceModel',
fields=[
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='rack.mixin.created_at')),
('deleted_at', models.DateTimeField(blank=True, null=True, verbose_name='rack.mixin.deleted_at')),
('description', models.TextField(blank=True, max_length=2048, null=True, verbose_name='rack.mixin.description')),
('slug', models.SlugField(max_length=36, verbose_name='rack.mixin.slug')),
('updated_at', models.DateTimeField(blank=True, null=True, verbose_name='rack.mixin.updated_at')),
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='rack.mixin.id')),
],
options={
'verbose_name': 'rack.models.workspace',
'verbose_name_plural': 'rack.models.workspaces',
'db_table': 'rack_workspaces',
'indexes': [models.Index(fields=['slug'], name='rack_worksp_slug_3aa25b_idx')],
},
),
migrations.CreateModel(
name='AccountModel',
fields=[
@@ -34,9 +52,11 @@ class Migration(migrations.Migration):
('full_name', models.CharField(blank=True, max_length=127, null=True, verbose_name='rack.models.account.full_name')),
('joined_at', models.DateTimeField(blank=True, default=None, null=True, verbose_name='rack.models.account.joined_at')),
('last_login', models.DateTimeField(blank=True, default=None, null=True, verbose_name='rack.models.account.last_login')),
('role', models.CharField(choices=net.xeaf.rack.enums.workspace_role.WorkspaceRole.choices, default=net.xeaf.rack.enums.workspace_role.WorkspaceRole['OWNER'], max_length=12, verbose_name='rack.models.account.role')),
('extra', models.JSONField(default=dict, verbose_name='rack.models.account.extra')),
('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')),
('workspace', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='net_xeaf_rack.workspacemodel', verbose_name='rack.models.workspace')),
],
options={
'verbose_name': 'rack.models.account',
@@ -56,29 +76,19 @@ class Migration(migrations.Migration):
('token', models.CharField(max_length=255, verbose_name='rack.models.session_model.token')),
('device_id', models.CharField(blank=True, default='WEB', max_length=36, null=True, verbose_name='rack.models.session_model.device_id')),
('fcm_token', models.CharField(blank=True, default=None, max_length=256, null=True, verbose_name='rack.models.session_model.fcm_token')),
('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='rack.models.session_model.account')),
('account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='rack.models.account')),
('actual_account', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='fk_session_model_actual_account', to=settings.AUTH_USER_MODEL, verbose_name='rack.models.session_model.actual_account')),
],
options={
'verbose_name': 'rack.models.session',
'verbose_name_plural': 'rack.models.session_plural',
'db_table': 'rack_sessions',
'indexes': [models.Index(fields=['account'], name='rack_sessio_account_bd8396_idx'), models.Index(fields=['actual_account'], name='rack_sessio_actual__7e7637_idx')],
'constraints': [models.UniqueConstraint(fields=('token',), name='unique_session_token')],
},
),
migrations.AddConstraint(
model_name='accountmodel',
constraint=models.UniqueConstraint(fields=('username',), name='unique_account_username'),
),
migrations.AddIndex(
model_name='sessionmodel',
index=models.Index(fields=['account'], name='rack_sessio_account_bd8396_idx'),
),
migrations.AddIndex(
model_name='sessionmodel',
index=models.Index(fields=['actual_account'], name='rack_sessio_actual__7e7637_idx'),
),
migrations.AddConstraint(
model_name='sessionmodel',
constraint=models.UniqueConstraint(fields=('token',), name='unique_session_token'),
),
]