#django #templates #models
#django #шаблоны #Модели
Вопрос:
Вот мои urls.py , шаблон и модель. Я хочу знать, как я могу ограничить количество отображаемых записей поля.
Urls.py
a_detail = {
'queryset': A.objects.all(),
'template_object_name' : "b",
'slug_field': 'a',
'template_name': 'a/detail.html',
}
urlpatterns = patterns('',
(r'^detail/(?P<slug>[a-zA-Z0-9_.-] )/$', list_detail.object_detail, a_detail),
)
в моем шаблоне:
{% for log in b.logs.all %}
<tr>
<td>{{ log.timestamp }}</td>
<td>{{ log.message }}</td>
</tr>
{% empty %}
<tr>
<td>Kein Timestamp vorhanden</td>
<td>Keine Log Message vorhanden</td>
</tr>
{% endfor %}
Мои модели:
class A(models.Model):
logs = models.ManyToManyField(Log, through='Timestamps', editable=False)
Class Log(models.Model):
message = models.TextField()
timestamp = models.DateTimeField(auto_now=True)
Возможно ли отображать только 20 последних сообщений журнала?
Ответ №1:
Вы можете установить ограничение запроса следующим образом:
Model.objects.all()[X:Y]
Или вы можете использовать разбиение на страницы в своем классе ListView
paginate_by = X