【发布时间】:2015-08-29 13:10:09
【问题描述】:
我想要一个简单的网站,我可以在上面看到汽车的状态。 假设我有两个表: 汽车:
|id|car |mileage| insurance|
----------------------------
| 1|ford| 123456|23-06-2015|
| 2|fiat| 654321|23-06-2015|
第二个,故障:
|id|car_id|description|
----------------------------
| 1| 1|stop ligths doesn't work
| 2| 1|power steer needs refill
| 3| 2|etc
| 4| 2|etc
我想在我的网站表上拥有这样的东西:
| | mileage| insurance|
| |---------------------------------
| |{{car.mileage}}|{{car.insurance}}
| {{car.car}}|---------------------------------
| | Faults
| |---------------------------------
| | << list of faults for current {{car.id}}>>
-------------------------------------------------------
<<next car>>
我知道如何获得简单的表格,但对我来说,问题是第二个 forloop (?) 用于当前汽车的故障。我应该如何在模板中的视图和 forloops 中设置查询集? 我的实际代码与示例略有不同:
models
class Pojazdy(models.Model):
id = models.AutoField(primary_key=True)
pojazd=models.CharField(max_length=15) #car
rejestracja=models.CharField(max_length=15)
aktywny=models.BooleanField(default=True)
def __unicode__(self):
return self.pojazd
class Pojazdy_usterki(models.Model): #faults
id = models.AutoField(primary_key=True)
pojazd=models.ForeignKey(Pojazdy)
usterka=models.CharField(max_length=255) #faults
przebieg=models.IntegerField()
data=models.DateField(auto_now_add=True)
zrobiona=models.BooleanField(default=False)
view
I have some comparisons
def index(request):
pojazdy_qs=Pojazdy.objects.all().filter(aktywny__exact= True)
for pojazd in pojazdy_qs:
(...)
# some operations
(...)
return render(request, 'auta_hist/index.html', {
'pojazdy': pojazdy_qs,
})
还有来自模板的表格:
<table width=100%>
{% for pojazd in pojazdy %}
<tr>
(... some table))
</tr>
<td>
<table border=1 width=100%>
<tr>
<th>Usterki !!! FAULTS !!!</th>
</tr>
{% for ??? %}
<tr>
<td>{{ ?? }} </td>
</tr>
{% endfor %}
</table>
</td>
</tr>
</table>
</td>
</tr>
{% empty %}
<tr><td>Brak danych</td></tr>
{% endfor%}
</table>
以上部分的答案出现了新问题: 我的故障模型有布尔字段,代表故障是否被修复。我想只显示过滤的项目,更重要的是,我想将此列表作为最后添加的三个的快速预览。 一般来说,我希望过滤项目,而不是只显示其中的几个。有没有办法做到这一点?现在我用 {% if .. %} 过滤项目,但不知道如何限制它们而不列出所有它们。
【问题讨论】:
标签: django django-models django-templates django-views