从Dataframe查询Django ORM

2024-10-01 07:20:28 发布

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

我有一个熊猫数据框,其值如下:

           delivery_month          flow                                          kit
0   2021-02-06T19:15:15.023000Z LMXMNH Manesar_TACO Bangalore_Gear Lever TACO   KIT1187
1   2021-01-06T19:13:10.785000Z LMXMNH Manesar_TACO Bangalore_Gear Lever TACO   KIT1187

我想查询一个包含所有这些值的模型,以便从该模型中检索特定月份的alloted_quantity之和

models.py

class AllotmentFlow(models.Model):

    flow = models.ForeignKey(Flow, on_delete=models.CASCADE)
    kit = models.ForeignKey(Kit, on_delete=models.CASCADE)
    asked_quantity = models.IntegerField(default=0)
    alloted_quantity = models.IntegerField(default=0)


class Allotment(models.Model):

    transaction_no = models.IntegerField(default=0)
    dispatch_date = models.DateTimeField(default=datetime.now)
    flows = models.ManyToManyField(AllotmentFlow)

以下是我所知道的,但我仍然不确定如何在查询中传递值:

for i in df[df['delivery_month','flow', 'kit']]:
            items = Allotment.objects.filter(dispatch_date__year_gte = ??,
                                             dispatch_date__month_gte = ??,
                                            flows__flow__flow_name = ??,
                                            flows__kit__kit_name = ??)

以及如何在delivery_month列中获得alloted_quantity个月的总和

我应用了以下方法将日期时间更改为月份和年份,但我不确定这是否有帮助:

df['delivery_month'] = df['delivery_month'].apply(
            lambda x: datetime.strptime(x[:10], "%Y-%m-%d").strftime("%m-%Y"))

Tags: defaultdfdatemodelsflowkitquantitytaco