使用视图将所有数据从模型类中取出,放入模板中

时间:2019-05-07 18:58:04

标签: python django django-models django-templates django-views

从速成课程中学习并尝试将其付诸实践。问题在于Django指导书没有涵盖每个类的多个数据点。

下面是模型,视图和模板。我知道问题出在类上,但是我没有找到以视图def将其拉入的方式返回所有类数据的最佳方法。

(models.py)

class PropData(models.Model):
    date_added = models.DateTimeField(auto_now_add=True)
    prop = models.ForeignKey(Prop, on_delete=models.CASCADE)
    date_purchased = models.DateField()
    city = models.TextField(max_length=75)
    state = models.TextField(max_length=25)
    purchase_price = models.DecimalField(max_digits=11, decimal_places=2)

(views.py)

def prop(request, prop_id):
    prop = Prop.objects.get(id=prop_id)
    propdata = prop.propdata_set.all()
    context = {'prop': prop, 'propdata': propdata}
    return render(request, 'propSheets/property.html', context)

(property.html)

<p>Property: {{ prop }}</p>

<p>City: {{ propdata.city }}</p>

当然,propdata.city不返回任何内容。我需要添加/更改什么才能将查询集输出到页面?

1 个答案:

答案 0 :(得分:2)

看起来propdata是所有PropData对象的集合,因此您可以遍历它们以获取每个关联的城市。尝试以下

{% for pd in propdata %}
    <p>City: {{ pd.city }}</p>
{% endfor %}