Сортировать всю информацию по дате 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')
Другие вопросы по тегам