gpt4 book ai didi

python - 如何访问稍后实例化的模型以在 Django 中进行计算?

转载 作者:行者123 更新时间:2023-12-01 02:30:55 24 4
gpt4 key购买 nike

我对 Python/Django 相当陌生,并且遇到以下问题。我的模型结构如下:

class Foo:
name = models.CharField(max_length=10)

class Bar:
othername = models.CharField(max_length=10)
othername2 = models.CharField(max_length=10)
fkey = models.ForeignKey(Foo, on_delete:models.CASCADE)

class FooBaroo:
FooBarooInt = models.IntegerField()
Barkey = models.ForeignKey(Bar, on_delete:models.CASCADE)

关系是1个Foo有多个Bar,1个Bar有多个FooBaroo。我想要的是用 Django 创建一个表,其中我对 Bar 类有完整的概述。我想要显示的内容之一是 Bar 的所有 FooBarooInts 的总和。然而,如果我向 Bar 添加一个属性来获取所有相关的 FooBaroo 对象(通过objects.all().filter()),它最终在大多数情况下不会返回任何内容,但不是全部(我觉得这很奇怪)。

有人知道我应该如何解决这个问题吗?

最佳答案

利用related_nameaggregation :

from django.db.models import Sum
class Bar:
@property
def fb_int_sum(self):
return self.foobaroo_set.aggregate(s=Sum('FooBarooInt')).get('s') or 0
# return FooBaroo.objects.filter(Barkey=self).agg...

关于python - 如何访问稍后实例化的模型以在 Django 中进行计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46825512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com