23 lines
767 B
Python
23 lines
767 B
Python
from django.contrib.auth.models import User
|
|
from django.db import models
|
|
from django.utils import timezone
|
|
|
|
|
|
class Chat(models.Model):
|
|
name = models.TextField()
|
|
is_group = models.BooleanField()
|
|
last_message = models.ForeignKey("Message", null=True, on_delete=models.SET_NULL, related_name='+')
|
|
|
|
|
|
class Membership(models.Model):
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
|
chat = models.ForeignKey(Chat, on_delete=models.CASCADE)
|
|
|
|
|
|
class Message(models.Model):
|
|
chat = models.ForeignKey(Chat, on_delete=models.CASCADE)
|
|
sender = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
|
|
text = models.TextField()
|
|
time_sent = models.DateTimeField(default=timezone.now)
|
|
is_read = models.BooleanField(default=False)
|