gpt4 book ai didi

mysql - 如何使用 Django ORM 在字段上运行

转载 作者:行者123 更新时间:2023-11-29 12:08:23 25 4
gpt4 key购买 nike

此问题是 this one 的后续问题.

我正在 MySQL(实际上是 MariaDB)数据库上运行 Django 应用程序。

我的 Django 模型如下所示:

from django.db import models
from django.db.models import Count, Sum

class myModel(models.Model):
my_string = models.CharField(max_length=32,)
my_date = models.DateTimeField()

@staticmethod
def get_stats():
logger.info(myModel.objects.values('my_string').annotate(
count=Count("my_string"),
sum1=Sum('my_date'),
sum2=Sum(# WHAT GOES HERE?? #),
)
)

当我调用 get_stats 时,它会给出计数和 sum1。但是,对于 sum2,我想要每个匹配行的以下数据库表达式的总和:my_date + 0(这会将其转换为真正的整数值)。

我应该在上面的表达式中输入什么才能在 sum2 中返回总和?

当我将其更改为 sum2=Sum(F('my_date')) 时,出现以下异常:http://gist.github.com/saqib-zmi/50bf572a972bae5d2871

最佳答案

不确定,但尝试F()表达式

from datetime import timedelta

myModel.objects.annotate(
count=Count("my_string"),
sum1=Sum('my_date'),
sum2=Sum(F('my_date') + timedelta(days=1))
).values('my_string', 'count', 'sum1', 'sum2')

https://docs.djangoproject.com/en/dev/ref/models/queries/#f-expressions

关于mysql - 如何使用 Django ORM 在字段上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31097583/

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