将对象组屏蔽为

时间:2017-09-28 08:03:27

标签: django design-patterns software-design

我正在使用Django开发一个简单的消息传递应用程序。这是我遇到的问题 我希望用户能够向一组其他用户发送消息。我还想显示每个用户的最后发送和接收消息。
问题是当你向很多人发送信息时。您的消息接口将填充相同的消息(每个接收器一个)。
我想要做的是在智能手机中拥有与群发消息相同的UI,这意味着群组消息中的所有消息都将显示为一个,除非有人回复消息,在这种情况下将为该用户显示新的对话。 我不想为组消息创建新模型(类),在前端级别管理它是低效的。 有没有任何设计模式可以帮助我做到这一点?如何在不迭代所有消息并找到属于同一组的消息的情况下执行此操作? 提前谢谢。

我现在拥有的东西:

  • 人1的消息:嗨
  • 第2条消息:嗨
  • 3人的消息:嗨
  • 4人的消息:嗨
  • 第5条消息:嗨|来自人5的消息:你好
  • 6人的消息:嗨

我想要的是什么:

  • 1,2,3,4,6:hi的消息
  • 第5条消息:嗨|来自人5的消息:你好

1 个答案:

答案 0 :(得分:0)

我无法找到任何简单的答案,但我设法做到了 我所做的是制作一个链接的消息列表。每当有人向一群人发送消息时,我会创建一条消息,其中包含指向下一条消息的链接,依此类推。如果其中一个接收者回复,我将他/她的消息拉出链接列表并将其作为单独的消息插入数据库。