【发布时间】:2013-09-22 11:03:57
【问题描述】:
我查看了 QuestSet API 并试图找到答案。但我想我误解了 Manager 和 instance 之间的区别。
我有以下型号...
class Target(model.Model):
group = models.ManyToManyField(Group, null=True)
group_name = models.ManyToManyField(GroupName, null=True)
...
class Group(models.Model):
value = models.CharField(null=True)
为目标模型中的所有多对多关系定义等等。
现在,我从另一个模型中引用了目标模型本身,如下所示。
class Schedule(models.Model):
targetID = models.ForeignKey(Target, null=True)
name = models.CharField(null=True)
在我的 Schedule 模型模板中,我希望能够显示在 ForeignKey(即 Target)中引用的 ManyToManyFields 的值。
当我写下以下内容时,
o = Schedule.objects.get(name = 'O_123')
o.targetID ---> This gives me the ID of the ForeignKey field
我希望能够参考名称(即 O_123)显示目标模型中存在的所有字段的值,为此我尝试了以下方法,
o.targetID.group
这会显示“django.db.models.fields.related.ManyRelatedManager 对象在 0x1f2e850”
谁能帮我理解我在误解什么。谢谢。
【问题讨论】:
-
o.targetID.group给你一个查询集。您需要执行o.targetID.group.all()并循环遍历对象。 More here
标签: django django-models django-templates django-orm