我有一个类似的查询:
EquityIntradayData.objects.using('marketdata').filter(symbol__in=symbol_list).order_by('-date_time')[:1]
Models.py:
class EquityIntradayData(models.Model):
symbol = models.CharField(db_column='SYMBOL', primary_key=True, max_length=20)
date_time = models.DateTimeField(db_column='DATE_TIME')
close = models.DecimalField(db_column='CLOSE', max_digits=10, decimal_places=5)
class Meta:
managed = False
db_table = 'EQUITY_INTRADAY_DATA'
unique_together = (('symbol', 'date_time'),)
返回响应如下:
[
{
"close": "591.00000",
"symbol": "MPSLTD"
}
]
我正在过滤一系列符号symbol_list = self.request.GET.getlist('symbol')
我想让它按符号
返回数据(按日期只是一个最新的对象)示例:如果我传入符号列表:['MPSLTD', 'SANDESH']
我应该
[
{
"close": "591.00000",
"symbol": "MPSLTD"
},
{
"close": "783.00000",
"symbol": "SANDESH"
}
]
我尽力做到最早,但却碰到了一堵墙。
EquityIntradayData.objects.using('marketdata').filter(symbol__in=symbol_list).distinct().earliest('date_time')
我怎样才能做到这一点?
答案 0 :(得分:0)
您是否尝试过在distinct?
中传递符号字段EquityIntradayData.objects.using('marketdata').filter(symbol__in=symbol_list).distinct('symbol').order_by('-date_time')[:1]