Django - 您可以将属性用作聚合函数中的字段吗?

标签 django django-models django-aggregation

我知道简短的答案,因为我试过了。有什么办法可以做到这一点(即使只是因为黑客攻击)?

class Ticket(models.Model):
    account = modelfields.AccountField()
    uuid = models.CharField(max_length=36, unique=True)
    created = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ['created']

    @property
    def repair_cost(self):
        # cost is a @property of LineItem(models.Model)
        return self.lineitem_set.aggregate(models.Sum('cost'))

最佳答案

不。任何通过内置管理器的东西都必须是一个真实的字段,因为它们只接触数据库。为了使用属性,他们必须将表中的每条记录转换为模型,然后在 Python 中过滤它们。

关于Django - 您可以将属性用作聚合函数中的字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3066491/

相关文章:

python - 当我进行聚合查询时,Django 模型管理器无法处理相关对象

Django 包含零的总和

python - django-1.8 : "XXXView"object has no attribute 'add_error'

ajax - Django 不允许使用奇怪的方法

python - Django 属性错误 : 'CharField' object has no attribute 'model' after migration

javascript - 如何将 python 与 javascript 结合使用?

python - django计数注释字段

MySQL 自连接查询优化

python - 有谁知道使用 python 实现谷歌身份验证的任何好的完整资源?

django - 在 Django 管理员中,是否可以根据组将模型分成子模型?