gpt4 book ai didi

python - Django:获取每个用户的发票、费用、提款。 (ORM) 关系

转载 作者:行者123 更新时间:2023-12-04 11:35:03 25 4
gpt4 key购买 nike

我已经被困了几个小时,无法找出正确的方法来做到这一点。所以基本上我知道循环并不是一个很好的做法,因为如果我们有很多用户,系统就会开始计时。所以我的想法是选择正确的方式来获得我需要的东西。
这是我们的核心方案:
This is our core scheme
我需要制作这种“ table ”,这些是我需要的东西:
enter image description here
这是我们前端会显示的东西,所以现在,我只需要收集正确的数据并将其传递给我们的 FE。我们使用 celery 任务,所以时间总是固定的(例如周一下午 6 点)。
这是我迄今为止尝试过的..

for user in User.objects.all():
start_date = timezone.now() - timedelta(weeks=1)

# How to loop correctly over every user and check for invoices??
invoices = InvoiceItem.objects.select_related('invoice', 'invoice__operation_ptr_id')
# invoices[0].operation_ptr_id ???
循环 for user in User.objects.all()可能应该替换为 annotate .我如何建立关系以获取发票、取款、费用?

最佳答案

尝试从 User 而不是 InvoiceItem 模型查询
我不确定您需要返回前端的具体内容,但是如果需要,在进行一些注释后返回实际值应该很容易
要获取用户的发票数量,请尝试以下操作:

from django.db.models import Count
User.objects.annotate(total_invoices=Count("invoices"))
至于提款和费用,这些模型似乎与 User 模型根本没有关系。我建议更新您的模型以添加它们之间的关系,并像上面的查询一样查询它们。
我还假设 User = Customer,因为您实际上并未在其他帖子中提供 Customer 模型。

关于python - Django:获取每个用户的发票、费用、提款。 (ORM) 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68254966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com