#python #django #django-models
#python #django #django-модели
Вопрос:
У меня есть следующий код:
from django.db import Models
class Model1(models.Model):
#Attributes...
class Model2(models.Model):
model1_foreign_key = models.ForeignKey(Model1, related_name='some_name', on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
Моя цель — упорядочить первый элемент по последнему созданию их внешних ключей. Например:
Today is September eighth
Model A is an instance of Model1 and has two models related to it via the foreign key, model B (created on September 5th) and model C (created on September 6th). Assume times don't matter here.
Model D is an instance of Model1 and has another two models related to it via a foreign key, E and F (Created on September 5th and 7th respectively).
Предоставляется доступ к списку объектов Model1, таких как Model1.objects .все, как я могу упорядочить модели таким образом, чтобы модель D была первой (у нее есть последний объект Model2, созданный 7 сентября).
В качестве альтернативы, что я могу изменить для достижения того же результата?
Ответ №1:
Вы можете использовать что-то вроде этого:
Model1.objects.all().order_by('-model2__created')
В этом коде model2
есть related_query_name
of model1_foreign_key
, который по умолчанию является именем класса.