django - 用户之间的消息传递应用程序模型

 木色雪魂K 发布于 2023-02-13 18:59

如何在用户之间创建消息应用程序.创建模型的业务逻辑是什么?我能想到的就像这样:

models.py

class Message(models.Model):
    description = models.TextField()
    date_added = models.DateTimeField(default=datetime.now)
    sender = models.ForeignKey(User)
    recipient = models.ForeignKey(User)

我不太确定这是否可行.如果你能指导我如何开始,将非常感谢.谢谢!

1 个回答
  • 常见病例的变种:

    from django.utils.translation import ugettext_lazy as _
    
    class Message(models.Model):
        """
        A private message from user to user
        """
        subject = models.CharField(_("Subject"), max_length=120, blank=True)
        body = models.TextField(_("Body"))
        sender = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='sender_messages', verbose_name=_("Sender"), )
        recipient = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='receiver_messages', null=True, blank=True, verbose_name=_("Recipient"))
        parent_msg = models.ForeignKey('self', related_name='next_messages', null=True, blank=True, verbose_name=_("Parent message"))
        sent_at = models.DateTimeField(_("sent at"), null=True, blank=True)
        read_at = models.DateTimeField(_("read at"), null=True, blank=True)
        replied_at = models.DateTimeField(_("replied at"), null=True, blank=True)
        sender_deleted_at = models.DateTimeField(_("Sender deleted at"), null=True, blank=True)
        recipient_deleted_at = models.DateTimeField(_("Recipient deleted at"), null=True, blank=True)
        ip = models.GenericIPAddressField(verbose_name=_('IP'), null=True, blank=True)
        user_agent = models.CharField(verbose_name=_('User Agent'), blank=True, max_length=255)
    

    2023-02-13 19:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有