[英]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.