48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
# DRF Rack
|
|
# Библиотека классов расширений для Django REST Framework
|
|
#
|
|
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
|
# Все права защищены. Лицензия: MIT
|
|
|
|
"""
|
|
Описание класса Session
|
|
"""
|
|
|
|
from django.db import models
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from net.xeaf.rack.core import CorePersistentModel
|
|
from net.xeaf.rack.enums import WorkspaceKind
|
|
from net.xeaf.rack.models.mixins import DescriptionMixin
|
|
from net.xeaf.rack.models.mixins import SlugMixin
|
|
|
|
|
|
class WorkspaceModel(CorePersistentModel, SlugMixin, DescriptionMixin):
|
|
"""
|
|
Модель рабочего пространства
|
|
"""
|
|
|
|
kind = models.CharField(
|
|
max_length=16,
|
|
choices=WorkspaceKind.choices,
|
|
default=WorkspaceKind.PRIVATE,
|
|
null=False,
|
|
blank=False,
|
|
verbose_name=_("rack.models.workspace_model.kind")
|
|
)
|
|
""" Вид пространства """
|
|
|
|
class Meta:
|
|
"""
|
|
Параметры конфигурации класса
|
|
"""
|
|
|
|
# Индексы для производительности
|
|
indexes = [
|
|
models.Index(fields=["slug"]),
|
|
]
|
|
|
|
db_table = "rack_workspaces"
|
|
verbose_name = _("rack.models.workspace")
|
|
verbose_name_plural = _("rack.models.workspaces")
|