我想使用窗口函数进行查询,然后对子查询执行group by aggregation。但是我不能使用ORM方法。它将返回aggregate function calls cannot contain window function calls 有没有办法在不使用.raw()的情况下使用下面的SQL查询? SELECT a.col_id, AVG(a.max_count) FROM (
SELECT col_id,
MAX(count) OVER (PARTITION BY part_id ORDER BY part_id) AS max_count
FROM table_one
)
我有两个模型,分别叫User和Transaction。在这里,我希望获得所有状态为成功的交易金额总和的所有用户。
我已经尝试使用子查询,但我不知道如何使用条件注释子查询的聚合
class User(models.Model):
name = models.CharField(max_length=128)
class Transaction(models.Model):
user = models.ForeignKey(User)
status = models.CharField(choices=(("success", "Success"),(
我有一个django-admin仪表板/清单,它试图用带注释的queryset跟踪和总结“作业”,我认为它不能正常工作。作为表的一部分,我显示了来自相关对象的数据卷的计算字段(由带注释的查询集提供)。
实际上,它是针对计算机设备及其各自的存储设备跟踪工作的作业列表,因此作业可以有多个设备,它可以有多个存储设备。设备和存储都可以包含数据卷(就像手机可以有内部内存和可移动存储卡一样)。对于一些工作,一个设备可能是裸硬盘驱动器或一个5硬盘的PC塔,所以我试图适应这些情况.
models.py:
class Job(models.Model):
...
job_number = mod
我正在我的项目中创建一个html表,该表由数据库中的一些sum值填充,我正在尝试求和(coins_remaining),它是我的数据库模型的一个属性。Coins_remaining是通过从(从Sale表中减去amount)减去(从Transaction表中减去amount)来计算的。这有可能吗?如果是的话,我会怎么做?
下表
{% for transaction in transactions %}
<tr>
<td>{{transaction.currency}}</td>
我希望将此代码更改为更快的查询。
response = []
for player in Player.objects.all():
total_earn = Credit.objects.filter(player=player).aggregate(Sum('amount')).get('amount__sum', 0)
total_earn += Purchase.objects.filter(player=player).aggregate(Sum('amount')).get('amount__sum',
假设我有以下模型-,我如何在我的查询集中注释每个影响者的总投递量和总故事范围?
class Influencer(models.Model):
name = models.CharField(max_length=100)
class Posting(models.Model):
influencer = models.ForeignKey(Influencer, on_delete=models.CASCADE)
reach = models.IntegerField()
class Story(models.Model):
influencer = mo
我实际上使用python 3.7和Django 3.0.4。
我在我的应用程序models.py中使用了这样一个简单的消息系统。
from torii.models import User
class Room(models.Model):
users = models.ManyToManyField(User,
related_name='rooms',
blank=True)
name = models.CharFi
我有一个django操作,我在两个步骤中执行,但我想看看是否有一种方法只使用一个数据库查询。假设我有这些模型:
class Budget(models.Model):
...
class Company(models.Model):
budgets = models.ManyToManyField(
Budget, related_name="companies"
)
class Employee(models.Model):
company = models.ForeignKey(
Company, on_d
有关问题描述、示例数据和postgres查询,请参见。我想把SQL转换成查询集。我觉得我离得很近,但不太接近。
SELECT Column_A, Column_B, Column_C, 0 as RN
FROM TABLE
WHERE COLUMN_C is null and Column_B in (UserA, UserB, UserC)
UNION ALL
SELECT Column_A, Column_B, Column_C, RN
FROM (
SELECT A.*, ROW_NUMBER() over (partition by A.column_C Order by ca
我有两个模型:加油站和产品的价格。价格最多可以有4种选择,每种产品类型一种,并不是每个站点都有所有四种产品。我想要查询每种产品的最新条目,最好是在单个查询中: class GasStation(models.Model):
place_id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=255, null=True, blank=True)
class Price(models.Model):
class Producto(
在Django 1.11子查询中,我在使用OuterRef时遇到了问题。示例模型:
class A(models.Model):
name = models.CharField(max_length=50)
class B(models.Model):
a = models.ForeignKey(A)
现在是一个带有子查询的查询(这实际上没有任何意义,但说明了我的问题):
A.objects.all().annotate(
s=Subquery(
B.objects.all().annotate(
n=OuterRef(
我在试着计算食谱的总价。为了优化DB查询,我尝试使用Django的ORM功能来执行最少的请求。 我的models.py是这样的: class BaseRecipe(models.Model):
title = models.CharField(_('Base recipe title'), max_length=255,
user = models.ForeignKey(User, null=True, on_delete=models.CASCADE, related_name='user_base_recipes')
class
我有一个查询,检索20个问题。然后,查询应该向查询集添加另一个列或数据,以指示用户已回答的选择。因此,总共有4个模型,包括一个用户模型。
class Question(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
status = models.CharField(max_length=200)
total_votes = models.IntegerField(default=0)
class Choice(models.
我有Order对象和OrderOperation对象,它们表示订单上的操作(创建、修改、取消)。
从概念上讲,一个订单有1到多个订单操作。每次对订单进行操作时,都会在此操作中计算总数。这意味着当我需要找到一个订单的总数时,我只得到最后一个订单操作总数。
简化代码
class OrderOperation(models.Model):
order = models.ForeignKey(Order)
total = DecimalField(max_digits=9, decimal_places=2)
class Order(models.Model):
@prop