27

私はそれを試したので、短い答えを知っています。ただし、これを達成する方法はありますか (ハックのせいであっても)?

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'))
4

2 に答える 2

26

いいえ。ビルトイン マネージャを通過するものはすべて、データベースにしか触れないため、実際のフィールドでなければなりません。プロパティを操作するには、テーブル内のすべてのレコードをモデルに変換してから、Python でそれらをフィルター処理する必要があります。

于 2010-06-18T00:59:25.000 に答える