Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_dialog_between_users(user1_id, user2_id):
- qs = ParticipantChat.objects.filter(chat__is_group=False)
- chats_user1 = qs.filter(user__id=user1_id).values_list('chat_id', flat=True)
- chats_user2 = qs.filter(user__id=user2_id).values_list('chat_id', flat=True)
- dialog_ids = set(chats_user1) & set(chats_user2)
- if len(dialog_ids) > 1:
- raise exceptions.ValidationError(detail='There is more than one chat between users')
- if not dialog_ids:
- return None
- dialog_id = dialog_ids.pop()
- return Chat.objects.filter(id=dialog_id).first()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement