gpt4 book ai didi

django - 如何在 Django 中编写 sql COALESCE

转载 作者:行者123 更新时间:2023-12-04 16:28:37 39 4
gpt4 key购买 nike

我是 Django 的新手。如何将 COALESCE sql 查询集写入 django orm。

query = 'SELECT COALESCE(max(CAST(order_no as UNSIGNED)), 0) as o,id from nanossc_Sales_master'

模型.py
class Sales_master(models.Model):
slno = models.IntegerField(blank=True, null=True)
order_no = models.CharField(max_length=50, blank=True, null=True)
type = models.CharField(max_length=50, blank=True, null=True)
customer_id = models.CharField(max_length=50, blank=True, null=True)
customer_name = models.CharField(max_length=50, blank=True, null=True)
brand_name = models.CharField(max_length=50, blank=True, null=True)
name = models.CharField(max_length=50, blank=True, null=True)

最佳答案

您可以使用 Coalesce expression [Django-doc] Cast expression [Django-doc]这里:

from django.db.models import Max, PositiveIntergerField, Value
from django.db.models.functions import Cast, Coalesce

Sales_master.objects.aggregate(
o=Coalesce(Max(Cast('order_no', output_field=PositiveIntergerField())), Value(0))
)

这将产生一个字典,其中一个键 'o'映射到此聚合的结果。

关于django - 如何在 Django 中编写 sql COALESCE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57444722/

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