我尝试索引并访问另一个表的外键中引用的相关对象的属性:
class table1 (models.Model):
name = models.CharField()
....
class table2 (models.Model):
attr1 = models.ForeignKey(table1, related_name = "backTable")
importantAttribute = models.Charfield()
我想从Python API解释器访问table2中的importantAttribute:
>>> t1 = table1.objects.create(name="t1")
>>> a1 = table2.objects.create(name="a1", attr1 = t1)
>>> t1.backTable.all()
>>> [<table2: a1>]
>>>> I'd like to access importantAttribute of table2 from t1 here. how?
答案 0 :(得分:0)
foreignKey字段创建多对一关系,因此t1.backTable.all()
将返回table2对象列表。
要访问相关的重要属性,您只需对列表中的对象使用点符号,例如:
t1.backTable.all()[0].importantAttribute
请注意,因为.all()
正在返回一个对象列表,所以你必须遍历列表或选择一个像上面的例子。
在模板中,它可能看起来像:
{% for backTable in t1.backTable.all %}
{{ backTable.importantAttribute }}
{% endfor %}