【发布时间】:2011-06-12 12:49:02
【问题描述】:
我有一个存储电子邮件线程的 django 应用程序。当我从 mbox 解析原始电子邮件并将它们插入数据库时,我会包含电子邮件标头参数“message-id”和“in-reply-to”。 message-id 是标识消息的唯一字符串,in-reply-to 标识给定消息要响应的消息。
这是我模型的消息部分:
class Message(models.Model):
subject = models.CharField(max_length=300, blank=True, null=True)
mesg_id = models.CharField(max_length=150, blank=True, null=True)
in_reply_to = models.CharField(max_length=150, blank=True, null=True)
orig_body = models.TextField(blank=True, null=True)
目标是能够以类似于 gmail 的线程格式显示电子邮件对话。我打算只使用邮件标头中的 message-id(模型中的mesg_id)和in-reply-to(模型中的in_reply_to)来跟踪邮件并进行线程处理。
在查看 SO 和 google 之后,看起来我应该使用 django-treebeard 或 django-mptt 之类的库来执行此操作。当我查看这两个解决方案中的任何一个的文档时,看起来大多数模型都使用外键关系,这让我感到困惑。
鉴于上面的示例模型,我如何在我的应用程序中实现 django-treebeard 或 django-mptt?这可以使用 mesg_id 和 in_reply_to 字段吗?
【问题讨论】:
标签: django django-mptt django-treebeard email-threading