0.1.0
ChatServiceApp
This commit is contained in:
53
ChatServiceApp/models.py
Normal file
53
ChatServiceApp/models.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from django.db import models
|
||||
from BaseModels.base_models import BaseModel
|
||||
|
||||
|
||||
msg_type_choices = (
|
||||
('support', 'техподдержка'),
|
||||
('private', 'личное')
|
||||
)
|
||||
|
||||
msg_status_choices = (
|
||||
('sended', 'Отправлено'),
|
||||
('seen', 'Просмотрено')
|
||||
)
|
||||
|
||||
grp_msg_status = (
|
||||
('open', 'Открыт'),
|
||||
('answered', 'Отвечен'),
|
||||
('closed', 'Закрыт')
|
||||
)
|
||||
|
||||
|
||||
grp_msg_department = (
|
||||
('support', 'Отдел: Техническая поддержка'),
|
||||
('finance', 'Отдел: Финансовый департамент'),
|
||||
)
|
||||
|
||||
|
||||
class MsgGroup(BaseModel):
|
||||
department = models.CharField(verbose_name='Отдел', default='support', choices=grp_msg_department)
|
||||
status = models.CharField(verbose_name='Статус', default='open', choices=grp_msg_status)
|
||||
|
||||
class Message(BaseModel):
|
||||
from AuthApp.models import User
|
||||
|
||||
msg_type = models.CharField(max_length=50, verbose_name='Тип сообщения', default='private', choices=msg_type_choices)
|
||||
group = models.ForeignKey(
|
||||
MsgGroup, verbose_name='Группа сообщений', related_name='rel_messages_for_group',
|
||||
on_delete=models.SET_NULL, null=True)
|
||||
|
||||
sender = models.ForeignKey(
|
||||
User, verbose_name='Отправитель', on_delete=models.CASCADE, related_name='rel_messages_for_sender'
|
||||
)
|
||||
receiver = models.ForeignKey(
|
||||
User, verbose_name='Получатель', on_delete=models.CASCADE, related_name='rel_messages_for_receiver'
|
||||
)
|
||||
|
||||
text = models.TextField(verbose_name='Сообщение')
|
||||
|
||||
status = models.CharField(verbose_name='Статус', default='sended', choices=msg_status_choices)
|
||||
|
||||
files = models.JSONField(verbose_name='Прикрепленные файлы', default=dict)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user