Как лучше использовать Django ORM?
Мне нужно получить набор запросов, в котором есть определенные 2 пользователя. Моя модель:
class ChatRoom(models.Model):
user1 = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="room_user1")
user2 = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="room_user2")
Мои вопросы:
def by_users(self, user1, user2):
return self.get_queryset().filter(
(Q(user1=user1) | Q(user2=user1)) & (Q(user1=user2) | Q(user2=user2)
)
Сейчас запрос выглядит так, есть ли способ оптимизировать его, сделать оптимальным?