从所有符号作为查询的列表中返回数据(一个最新对象)



我有一个查询:

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')

我该如何实现?

您是否尝试过在不同的符号字段?

中传递符号字段?
EquityIntradayData.objects.using('marketdata').filter(symbol__in=symbol_list).distinct('symbol').order_by('-date_time')[:1]

最新更新