[英]Django orm query_set
我在網上搜索了各種資料,
但我沒有得到想要的結果。
我正在嘗試解決以下問題,但是:
[
{
"vehicle__name": "AAA",
"vehicle__number": "123",
"user_id__first_name": ["name1","name2"],
"vc": 8
},
{
"vehicle__name": "BBB",
"vehicle__number": "111",
"user_id__first_name": ["name3"],
"vc": 5
}
]
我不知道該怎么辦。
你能幫助我嗎?
我的代碼:
a = TestManager.objects.filter(company_code__in=sub_company).values(
'vehicle__name',
'vehicle__number',
'user_id__first_name'
).annotate(
vc=Count("vehicle__name"),
).order_by(
'vehicle__name',
)
出去:
[
{
"vehicle__name": "AAA",
"vehicle__number": "123",
"user_id__first_name": "name1",
"vc": 9
},
{
"vehicle__name": "AAA",
"vehicle__number": "123",
"user_id__first_name": "name2",
"vc": 1
},
{
"vehicle__name": "BBB",
"vehicle__number": "111",
"user_id__first_name": "name3",
"vc": 10
}
]
如果你使用Postgres
,你可以試試這個:
from django.contrib.postgres.aggregates import ArrayAgg
a = TestManager.objects.filter(company_code__in=sub_company).values(
'vehicle__name',
'vehicle__number'
).annotate(
vc=Count("vehicle__name"),
user_id_first_names=ArrayAgg('user_id_first_name', distinct=True)
).order_by('vehicle__name')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.