gpt4 book ai didi

python - Django 模型 manytomany 字段计数出现

转载 作者:行者123 更新时间:2023-12-05 04:45:09 25 4
gpt4 key购买 nike

模型.py

class Region(models.Model):
name = models.CharField(blank=False, unique=True)
count = models.IntegerField(blank=True, null=True) # This should be the occurrence count in ETF

class ETF(models.Model):
ticker = models.CharField()
region = models.ManyToManyField(Region, blank=True)

例子:如果ETF模型中有100个ETF对象以美国为地区,那么Region模型中美国对象的count字段应该是100。

每次数据库发生变化时,如何自动更新区域模型中的计数字段?对不起,如果有重复的问题,

我就是找不到搜索解决方案的关键字。

最佳答案

您不需要计算区域ETF数量,您可以必要时使用.annotate(…) [Django-doc]计算该数量:

from django.db.models import <strong>Count</strong>

Region.objects.annotate(
<strong>count_etf=Count('etf')</strong>
)

this queryset 产生的 Region 将有一个额外的属性 .count_etf 包含相关 ETF< 的数量Region 的对象。

如果 ETF 链接到多个 Region,则所有这些区域都将其视为一个。

关于python - Django 模型 manytomany 字段计数出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69213456/

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