django上的模型消息

时间:2017-12-23 17:44:23

标签: django django-models

我为消息创建了一个模型。用户可能有很多消息。许多用户都可以阅读消息。

类似于Slack的群聊。

class Message(models.Model):
    user = models.ForeignKey(User)
    users_read = models.ManyToManyField(User, related_name='read_messages')
    date_created=models.DateTimeField(auto_now_add=True)
    text = models.CharField(max_length=500)

这是在模型中引用这些的正确方法吗?

1 个答案:

答案 0 :(得分:0)

是的,您是对的,但您可以将Chat模型与Message一起使用。

class Chat(models.Model):
    admin = models.ForeignKey(User)
    participants = models.ManyToManyField(User, related_name='chats')
    created = models.DateTimeField(auto_now_add=True)

class Message(models.Model):
    user = models.ForeignKey(User)
    chat = models.ForeignKey(Chat, on_delete=models.CASCADE, related_name='messages')
    created = models.DateTimeField(auto_now_add=True)
    text = models.TextField(max_length=500) # what length you want

此结构可让您轻松跟踪消息和聊天记录。