Django 获取主要+外部属性
Django Get Primary + Foreign Attributes
我有两个模型:Site
和 Metric
。
我想在每个 Site
旁边显示 Metric
个值。
我的views.py
如下:
from django.shortcuts import render
from .models import Site, Metric
def site_graph(request):
sites = Site.objects.order_by('name')
metrics = [s.metric_set.all() for s in sites]
return render(request, 'da/site_graph.html', {'sites': sites, 'metrics': metrics})
我的模板内容是这样的:
{% block content %}
{% for metric in metrics %}
[
{% for query in metric %}
{{ query.domain_authority }}
{{ query.date_queried }}
{% endfor %}
]
{% endfor %}
{% endblock content %}
我不确定如何在 Django 中获取我需要的数据。
此数据最终将传递给 d3.js
以进行可视化,这就是为什么我需要将每个 Site
的匹配主键的数据放在一起。
您可以使用字典列表:
def site_graph(request):
metrics=[]
sites = Site.objects.order_by('name')
for site in sites:
metrics_site={}
metrics_site["site"] = site
metrics_site["metrics"] = site.metric_set.all()
metrics.append(metrics_site)
return render(request, 'da/site_graph.html', {'metrics': metrics})
然后在模板中:
{% block content %}
{% for metric in metrics %}
{{ metric.site.name }}
{% for query in metric.metrics %}
{{ query.domain_authority }}
{{ query.date_queried }}
{% endfor %}
{% endfor %}
{% endblock content %}
metric.site.name 只是一个示例,如果您的模型 "site" 包含您要显示的字段 "name"。
我有两个模型:Site
和 Metric
。
我想在每个 Site
旁边显示 Metric
个值。
我的views.py
如下:
from django.shortcuts import render
from .models import Site, Metric
def site_graph(request):
sites = Site.objects.order_by('name')
metrics = [s.metric_set.all() for s in sites]
return render(request, 'da/site_graph.html', {'sites': sites, 'metrics': metrics})
我的模板内容是这样的:
{% block content %}
{% for metric in metrics %}
[
{% for query in metric %}
{{ query.domain_authority }}
{{ query.date_queried }}
{% endfor %}
]
{% endfor %}
{% endblock content %}
我不确定如何在 Django 中获取我需要的数据。
此数据最终将传递给 d3.js
以进行可视化,这就是为什么我需要将每个 Site
的匹配主键的数据放在一起。
您可以使用字典列表:
def site_graph(request):
metrics=[]
sites = Site.objects.order_by('name')
for site in sites:
metrics_site={}
metrics_site["site"] = site
metrics_site["metrics"] = site.metric_set.all()
metrics.append(metrics_site)
return render(request, 'da/site_graph.html', {'metrics': metrics})
然后在模板中:
{% block content %}
{% for metric in metrics %}
{{ metric.site.name }}
{% for query in metric.metrics %}
{{ query.domain_authority }}
{{ query.date_queried }}
{% endfor %}
{% endfor %}
{% endblock content %}
metric.site.name 只是一个示例,如果您的模型 "site" 包含您要显示的字段 "name"。