![](/img/trans.png)
[英]Get an attribute in a template from a ManyToMany relationship in Django
[英]Get data from ManytoMany Relationship
我有以下型号:
class Speaker(models.Model):
id_speaker = models.UUIDField(primary_key=True)
name = models.TextField()
class Session(models.Model):
id_session = models.UUIDField(primary_key=True)
name = models.TextField()
speakers = models.ManyToManyField(Speaker)
当查询Session.objects.all()
,我得到了下一个示例数据:
{
"id_session": "UUID",
"name": "Example name",
"speakers": [
{
"id_speaker": "UUID",
"name": "John Doe"
}
]
}
如您所见,我有会议发言人列表,现在的问题是,如何获得发言人会议,这是我想要的一个示例:
{
"id_speaker": "UUID",
"name": "John Doe",
"sessions": [
{
"id_session": "UUID",
"name": "Example name"
}
]
}
如果您想知道我是否使用django-rest-framework,答案为是。
can您不能更改模型的结构吗?
class Session(models.Model):
id_session = models.UUIDField(primary_key=True)
name = models.TextField()
class Speaker(models.Model):
id_speaker = models.UUIDField(primary_key=True)
name = models.TextField()
session = models.ManyToManyField(Session)
不知道我是否正确理解您的问题。
尝试related_name
Django相关名称
注意related_name
在ManyToManyField kwarg
class Speaker(models.Model):
id_speaker = models.UUIDField(primary_key=True)
name = models.TextField()
class Session(models.Model):
id_session = models.UUIDField(primary_key=True)
name = models.TextField()
speakers = models.ManyToManyField(Speaker, related_name='sessions')
然后,您可以从发言人对象获得所有会话
some_speaker.sessions.all() #Returns sessions
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.