Сортировать всю информацию по дате DJANGO
У меня есть модель с именем "Вещи", как в книге HelloWebApp. Теперь я добавил "весовую" модель. Модель имеет поля "дата" и "вес_значения". При отображении данных в "thing_detail.html" я хочу отображать данные, упорядоченные по полю "дата".
Вот мои модели.
from django.db import models
from django.contrib.auth.models import User
from django.db import models
from django.utils import timezone
class Thing(models.Model):
name = models.CharField(max_length=255)
description = models.TextField()
slug = models.SlugField(unique=True)
user = models.OneToOneField(User, blank=True, null=True)
class Weight(models.Model):
date = models.DateTimeField(default=timezone.now)
weight_value = models.CharField(max_length=255)
thingRA = models.ForeignKey(Thing,related_name="weights")
class Meta:
order_with_respect_to = 'thingRA'
и thing_details.html
{% extends 'layouts/base.html' %}
{% block title %}
{{ thing.name }} - {{ block.super }}
{% endblock %}
{% block content %}
<div id="content">
<!-- Below is to check if the data belongs to the original user -->
{% if user == thing.user %}
<h1>{{ thing.name }}</h1>
<p>{{ thing.description }}</p><br>
{% if weights %}
{% for weightshow in weights %}
<p>>Weight as on {{weightshow.date}} : {{weightshow.weight_value}}</p>
{% empty %}
<p>Sorry! You haven't logged any weight records yet</p>
{% endfor %}
{% endif %}
<br><br>
<a href="{% url 'edit_thing' slug=thing.slug %}"><u>Edit Me!</u></a>
<br>
<a href="{% url 'edit_weight' slug=thing.slug %}"><u>Log Weight Record!</u></a>
</div>
{% else %}
<h1>Error!</h1>
<p>You do not have the permission to view this account. If this is your account please logout and login to <strong>{{thing.name}}</strong></p><br>
{% endif %}
{% endblock %}
Пожалуйста, помогите кому-нибудь!
Спасибо!
1 ответ
Решение
Добавьте это в вашу модель веса
class Meta:
ordering = ['date']
Или когда вы делаете запрос, добавьте order_by(). Подобно,
Weight.objects.all().order_by('date')