Я хочу создать простое приложение для чата между пользователями. Вот часть кода:
Models.py:
class Chat(models.Model):
message = models.CharField(max_length=250)
sender = models.ForeignKey(User,related_name="sent",on_delete=models.CASCADE)
receiver = models.ForeignKey(User,related_name="received",on_delete=models.CASCADE)
timeStamp = models.DateTimeField(auto_now_add=True)
read = models.BooleanField(default=False)
Views.py:
def inbox(request):
sent_list = Chat.objects.filter(sender=request.user)
received_list = Chat.objects.filter(receiver=request.user)
inbox_list = sent_list | received_list
context={
'inbox_list':inbox_list
}
return render(request,'blog/inbox.html',context)
Inbox.html:
{%for message in inbox_list %}
{% if message.sender == request.user %}
<a href="{% url 'chat' message.receiver.id %}" >{{message.receiver.username}}</a>
{%else%}
<a href="{% url 'chat' message.sender.id %}" >{{message.sender.username}}</a>
{% endif%}
{% endfor%}
Я получаю список участников в Inbox.html
, но для каждого сообщения в списке появляются одни и те же пользователи. Как отфильтровать пользователей только один раз, когда я отправлял и получал сообщения. Также, если есть возможность создать уникальный чат, любая рекомендация будет полезна.