Группировка по фильтрации с помощью Django ORM
Мне нужно проверить, есть ли комната в чате. ex) пользователь_1 и пользователь_2 имеют комнату нет комнаты
Я загружаю свой код и картинку с данными.
Я думаю, что он может работать с группировкой по, верно?
Как мне быть? Помогите мне. Спасибо!
views.py
if ChatRoom.objects.filter(member__in=[request.user, target_user]).count() < 2:
room = ChatRoom.objects.create()
room.member.add(request.user)
room.member.add(target_user)
models.py
class ChatRoom(models.Model):
id = ShortUUIDField(primary_key=True)
member = models.ManyToManyField(
settings.AUTH_USER_MODEL,
through='ChatRoomMember'
)
class Meta:
managed = True
db_table = 'chat_room'
class ChatRoomMember(models.Model):
room = models.ForeignKey(
ChatRoom,
on_delete=models.CASCADE,
)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE
)
class Meta:
db_table = 'chat_room_member'
class ChatMessage(models.Model):
room = models.ForeignKey(
ChatRoom,
on_delete=models.CASCADE,
)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE
)
message = models.CharField(max_length=255)
created_at = models.DateTimeField(default=datetime.now)
class Meta:
managed = True
db_table = 'chat_message'