Форум сайта python.su
Всем привет,
подскажите как
есть код модели:
class sensor_type(models.Model):
measuring = models.CharField(max_length=35)#измеряемая величина
unit = models.CharField(max_length=10)#единица измерения
def __unicode__(self):
return self.measuring
class Meta:
ordering = ["measuring"]
class Admin:
pass
class measuring_datetime(models.Model):
dt_value = models.DateTimeField(null=False, unique=True)
def __unicode__(self):
return str(self.dt_value)
class Meta:
ordering = ["dt_value"]
class Admin:
pass
class measuring_value(models.Model):
dt_value = models.ForeignKey(measuring_datetime, null=False)
sensor = models.ForeignKey(sensor_type, null=False)
value = models.FloatField(null=False)
def __unicode__(self):
return str(self.value)
class Meta:
ordering = ["id"]
class Admin:
list_display = ('value', 'sensor', 'dt_value')
search_fields = ('dt_value',)
pass
def show_weather(request):
dt_value = measuring_datetime.objects.latest('dt_value')
id_last = dt_value.id
measuring_value_last = measuring_value.objects.filter(dt_value=id_last)#список последних значений
sensor_list = sensor_type.objects.all()#список датчиков
print "measuring_value_last %s"%measuring_value_last
return render_to_response('show_weather.html', {'datetime': dt_value
, 'measuring_value': measuring_value_last
, 'sensor': sensor_list
})
>>> print measuring_value_last
[<measuring_value: -6.8>, <measuring_value: 40.0>, <measuring_value: -18.1>, <measuring_value: 0.0>, <measuring_value: -2.17>, <measuring_value: -1.9>]
>>> print sensor_list
[<sensor_type: влажность, <sensor_type: осадки, <sensor_type: T
температура1, <sensor_type: температура2, <sensor_type: температура3, <sensor_type: температура4]
<html><body>Время {{ datetime }}.</br>
<table border="1">
{% for i in measuring_value %}
<tr>
<td>величина {{ sensor.forloop.counter }}</td>
<td>{{ i.value }}</td>
<td>ед. измерения</td>
</tr>
{% endfor %}
</table>
<br/>
{{ measuring_value.2 }}
</body></html>
Отредактировано (Май 12, 2008 20:36:22)
Офлайн
оказалось все гораздо проще:
{% for i in measuring_value %}
<tr>
<td>{{ i.sensor }}</td>
<td>{{ i.value }}</td>
<td>{{ i.sensor.unit }}</td>
</tr>
{% endfor %}
Отредактировано (Май 12, 2008 20:35:07)
Офлайн
Эээ я придираюсь, но если использовать тег “code” - читать значительно легче. :)
Офлайн
Ferromanхм,
Эээ я придираюсь, но если использовать тег “code” - читать значительно легче. smile
Офлайн
Там есть опции типа “code=python” или “code=bash”
>>> print measuring_value_last [, , , , , ]
>>> print measuring_value_last [, , , , , ]
Отредактировано (Май 13, 2008 12:15:25)
Офлайн