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

2024-06-25 23:07:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是:

EquityIntradayData.objects.using('marketdata').filter(symbol__in=symbol_list).order_by('-date_time')[:1]

型号.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')

我怎样才能做到这一点


Tags: closedbdateobjectstimemodels符号column