我已经看到了一些如何在SO上做到这一点的例子,但没有一个能引导我走向我所希望的荣耀。
以下是我正在使用的字段:
models.py
class ServerFunctions(models.Model):
server_function = models.CharField(max_length=12)
class Meta:
verbose_name_plural = "Server Function"
def __unicode__(self):
return self.server_function
class Inventory(models.Model):
server_function = models.ForeignKey(ServerFunctions, null=False, blank=False)
views.py
def show_details(request, host_id=1):
host_info = Inventory.objects.filter(id=host_id).values()
return render_to_response('templates/details.html', {'host_info': host_info})
模板/ details.html
这为我提供了Inventory表(3)中的列值,就像它应该
一样{{ info.server_function_id }}
这根本没有输出。
{% for func in info.serverfunctions_set.all %}
{{ func.server_function }}
{% endfor %}
我被困住了,我尝试过的任何东西似乎都没有用。谢谢你的阅读。
答案 0 :(得分:0)
您在模板中使用info.serverfunction_set.all
,如果您正在遍历反向关系(即您有ServerFunction
并且想要所有相关的Inventory
项目),那么这将是正确的。但事实并非如此,Inventory
与ServerFunction
之间存在简单的前瞻性关系:
{% for info in host_info %}
{{ func.server_function.server_function }}
{% endfor %}