我有以下代码:
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)
这将返回如下查询集:
朋友ID |用户ID
朋友ID |用户ID
朋友ID |用户ID
主要问题
如何第二次通过“朋友列表”解析“朋友ID”,并创建可以在Django模板中呈现的对象列表?