2017-12-23 9 views
0

メッセージのモデルを作成しました。ユーザーには多くのメッセージがあります。多くのユーザーがメッセージを読むことができます。djangoのモデルメッセージ

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) 

これはモデルでこれらを参照する正しい方法ですか?

答えて

0

はい、あなたは正しいですが、Messageと一緒にChatモデルを使用することができます。

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 

この構造では、メッセージやチャットを簡単に追跡できます。

関連する問題