У меня есть следующий код:
from django.db import models
class Friend(models.Model):
name = models.CharField(max_length=100)
invited = models.ManyToManyField(
'self',
through='Invites',
symmetrical=False
)
У меня есть промежуточная таблица, которая отслеживает историю отношений между друзьями.
class Invites(models.Model)
sent_invite = models.ForeignKey(
Friend,
on_delete=models.CASCADE,
null=True
related_name='sent_invite'
)
received_invite = models.ForeignKey(
Friend,
on_delete=models.CASCADE,
null=True,
related_name='received_invite'
)
Как видите, класс Friend поддерживает отношения «многие ко многим» с самим собой.
Предположим, я выполнил запрос по приглашениям, предположим, что user_id - это зарегистрированный друг.
received_invites_from = Invites.objects.filter(received_invite=user_id)
Это вернет набор запросов, похожий на:
идентификатор друга | Идентификатор пользователя
идентификатор друга | Идентификатор пользователя
Freind ID | Идентификатор пользователя
ГЛАВНЫЙ ВОПРОС
Как мне второй раз проанализировать идентификаторы друзей по списку друзей и создать список объектов, которые можно отобразить в шаблоне Django?