Files
kursy-mirror/home/models/chat_message.py

27 lines
848 B
Python

from django.contrib.auth.models import User
from django.db import models
class ChatMessage(models.Model):
user = models.ForeignKey(
User,
on_delete=models.CASCADE,
related_name="support_chats",
limit_choices_to={"is_staff": False},
) # The requester (non-admin)
sender = models.ForeignKey(
User, on_delete=models.CASCADE, related_name="sent_messages"
) # The sender (user or admin)
content = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
@classmethod
def get_support_chat(cls, user):
return cls.objects.filter(user=user).order_by("timestamp")
@classmethod
def get_all_user_senders(cls):
user_ids = cls.objects.values_list("user", flat=True).distinct()
return User.objects.filter(id__in=user_ids, is_staff=False)