我有这个SQL查询
'(SELECT “A”.”id" AS “aId”, “A”.”name”, “A”.”updatedAt" AS “aUpdatedDate”, “B”.”name” AS “b.name”, “B”.”status” AS “b.status”, FROM “A” INNER JOIN “B” ON “A”.”id" = “B”.”a_id” WHERE EXISTS (SELECT “status” FROM “B” WHERE “B”.”a_id” = “A”.”id" AND “B”.”status" IN (‘pending’, ‘failed’))) OFFSET ? LIMIT ?’;
这将返回所需的数据,但是问题是我很想以这种格式获取数据。这是预期的输出:
{
aid: 1,
name: 'nameOne',
aUpdatedDate: '2018-09-10',
Bs: [
{
name: 'b-one',
status: 'completed'
},
{
name: 'b-two',
status: 'pending'
}
]
}
,但输出代替了B的每个实例,后者依次复制了返回的A。返回的实际输出是这样的
{
aid: 1,
name: 'nameOne',
aUpdatedDate: '2018-09-10',
'b.name': 'b-one',
'b.status': 'completed'
},
{
aid: 1,
name: 'nameOne',
aUpdatedDate: '2018-09-10',
'b.name': 'b-two',
'b.status': 'pending'
},
有关上下文,您可以查看StackOverflow链接,该链接解释了为什么我使用WHERE EXISTS
子句以及有关初始问题的背景知识。
答案 0 :(得分:0)
我认为您正在使用path('subscription/<int:pk>', SubChannelSubscriptionView.as_view(), name='subscription'),
,请将其删除或设为false:
raw : true
你很好。