Python 为什么我的私人用户对用户聊天显示在其他用户';谁的聊天档案?

Python 为什么我的私人用户对用户聊天显示在其他用户';谁的聊天档案?,python,django,Python,Django,我正在创建一个私有的用户对用户聊天,我面临一个问题,当一个用户与另一个用户发送消息时,这个聊天会出现在其他用户的聊天中 假设用户A联系了用户B,用户C看不到用户A和B之间发送的消息,但用户A和B可以看到他们在用户C的聊天档案上的讨论,而用户C与他们无关 问题:我如何使它只在与发件人和收件人有关时显示聊天 聊天档案显示在url页面上,如下所示:/c/ 如下图所示,所有内容都是正确的,因为url用户名与发件人或收件人用户名匹配 正如您在另一张图片上看到的,url用户名与发送或收件人用户名无关 这

我正在创建一个私有的用户对用户聊天,我面临一个问题,当一个用户与另一个用户发送消息时,这个聊天会出现在其他用户的聊天中

假设用户A联系了用户B,用户C看不到用户A和B之间发送的消息,但用户A和B可以看到他们在用户C的聊天档案上的讨论,而用户C与他们无关

问题:我如何使它只在与发件人和收件人有关时显示聊天

聊天档案显示在url页面上,如下所示:
/c/

如下图所示,所有内容都是正确的,因为url用户名与发件人或收件人用户名匹配

正如您在另一张图片上看到的,url用户名与发送或收件人用户名无关

这是我的模板文件

{% for user in users %}
    {% if user.client == request.user %}
         <li style="text-align:left; background:yellow;">
             <p>from {{ user.client }} to <strong>{{ user.worker }} </strong> | {{ user.sent_at }}</p>                         
             <p>{{ user.comment }}</p>
         </li>
    {% else %}
         <li style="text-align:right; background:#eaeaea;">
             <p>from {{ user.client }} to <strong>{{ user.worker }}</strong> | {{ user.sent_at }}</p>
             <p>{{ user.comment }}</p>
         </li>
    {% endif %}
{% endfor %}
型号.py

def comment(request, username):
    username = User.objects.get(username=username)
    user = userComment.objects.filter(Q(sender=request.user) | Q(recipient=request.user)).order_by('sent_at')

    context = {'users': user, 'url_username': username}
    return render(request, 'add_comment.html', context)
class userComment(models.Model):
    sender = models.ForeignKey(User, related_name="sender")
    recipient = models.ForeignKey(User, blank=True, null=True, related_name="recipient")
    sent_at = models.DateTimeField(auto_now_add=True)
    comment = models.TextField(max_length=255, null=True)

我不知道这与视图还是模板有关,有什么建议吗?

我想你需要查询一下

users = userComment.objects.filter(Q(Q(sender=request.user) & Q(recipient=username)) | Q(Q(sender=username) & Q(recipient=request.user))).order_by('sent_at')

您尚未显示查询所在的视图performed@e4c5我应该怎么做?您正在使用
request.user
来查询评论,并且您在URL中传递的用户名与查询没有关联。测试时您是否使用相同的帐户登录?@maverick是的,我使用相同的帐户登录,但这就是问题所在,我不应该在“huriddin1”上看到我和“huriddin52”之间的聊天聊天室档案那么您想要由登录用户发布并由URL中的收件人接收的评论,或者由URL中的收件人发送并由登录用户接收的评论?我说的对吗?言语无法表达我的感激之情。我已经做了好几天了。