【发布时间】:2023-03-28 01:07:01
【问题描述】:
我需要找出物品的平均年龄(按各种标准分组,但这似乎不是问题)。但是,我找不到如何使用 Django(在 MySQL 之上)有效地在 DateTimeField 上创建聚合。
纯Item.objects.all.aggregate(Avg('created')) 似乎会产生绝对虚假的值(例如 20081988007238.133)并且使用 Item.objects.all.extra(...) 我还没有找到一种聚合方法。
当然我可以手动创建 SQL 查询(类似于SELECT AVG(UNIX_TIMESTAMP(created)) FROM items_item),但我更愿意避免在应用程序中使用 MySQL 特定代码。
仅供参考,我用于测试的示例模型:
class Item(models.Model):
name = models.CharField(max_length = 255)
created = models.DateTimeField()
【问题讨论】:
标签: mysql django datetime aggregate