我希望有一个简单的网站,我可以看到汽车的状态。 我们假设我有两个表: 汽车:
|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>
对于上述部分的回答,出现了新的问题: 我的故障模型有布尔字段,表示故障是否被修复。我想只显示过滤的项目,而且我希望将此列表作为最后添加的三个快速预览。 一般来说,我希望过滤项目,而不是只展示其中的一些。有办法做到这一点吗? Rigth现在我使用{%if ..%}过滤项目,但不知道如何限制它们而不是列出所有项目。
答案 0 :(得分:1)
使用套装! 你想得到所选Pojazdy的所有Pojazdy_usterki:
<table width=100%>
{% for pojazd in pojazdy %}
<tr>
(... some table))
</tr>
<td>
<table border=1 width=100%>
<tr>
<th>Usterki !!! FAULTS !!!</th>
</tr>
{% for e in pojazdy_usterki_set.all %}
<tr>
<td>{{ e.usterka }} </td>
</tr>
{% endfor %}
</table>
</td>
</tr>
</table>
</td>
</tr>
{% empty %}
<tr><td>Brak danych</td></tr>
{% endfor%}
</table>