Я использую Джанго с Монго и у меня есть этот тип модели:Сортировка по дате в поле Datetime в Монго
class ProductDate(EmbeddedDocument):
created = DateTimeField()
updated = DateTimeField(null=True)
class Product(Document):
product_id = IntField()
saves = IntField(default=0)
title = StringField(max_length=1000)
gender = StringField(choices=settings.GENDER_CHOICES, default=settings.UNISEX, max_length=50)
date = EmbeddedDocumentField(ProductDate)
Теперь с этим, когда я делаю запрос так:
queryset = queryset.filter(title=search)
Я хочу заказать сначала по дате в созданном поле DateTime, а затем упорядочить с помощью сохранения. Таким образом, продукты с одинаковой датой, а не временем, упорядочиваются по числу сохранений. Тем не менее, я не могу найти способ превратить диатомит на сегодняшний день, так что он сравнивает только дату.
Я не могу сделать:
.order_by("-date__created","-saves")
потому что заказы в зависимости от времени.
Я попытался использовать агрегат в Монго, с этим руководством:
но did't помочь мне.
Может ли кто-нибудь, пожалуйста, направить меня к тому, как я могу это сделать? Спасибо!
Wow! Спасибо! Считаете ли вы, что было бы лучше добавить другое поле в ProductDate, чтобы хранить только дату, а не время? Будет ли это эффективно? Благодаря! – Nazariy1995
@ Brenden1995 Да, конечно, если вы можете перейти непосредственно к сортировке без вычисления чего-либо, тогда запрос будет быстрее. Кроме того, «нет ничего свободного», поэтому очевидной стоимости становится больше места. Но это ваше решение относительно того, стоит ли увеличение скорости в пространстве в зависимости от ваших собственных ограничений. –