Django 1.9.1只与多次命中数据库相关的预取

2024-04-25 23:27:47 发布

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

我有下一个问题(自我模型是“Activos”):

queryset = self.model.objects.all() \
            .only('id', 'is_active', 'nombre', 'vehiculo_seguro', 'tipo_activo', 'placa', 'tipo_vehiculo_id',
                  'documentos_json', 'varios_json', 'cliente_id__nombre', 'icono_id') \
            .prefetch_related(Prefetch('equipo_activo', queryset=Equipos.objects.only('id', 'identificador_celular', 'identificador_satelital'), to_attr='equipos')) \
            .select_related('tipo_vehiculo_id', 'cliente_id', 'icono_id') \
            .order_by('cliente_id__nombre', 'nombre')

模型:

^{pr2}$

查询结果是我想要的,但是当我看到Django日志时,我看到prefetch_相关结果中的每个结果都有多个SELECT。在

DEBUG 2016-04-21 17:02:24,238 utils 1536 140353238808320 (0.003) SELECT "Activos_activos"."id", "Activos_activos"."is_active", "Activos_activos"."nombre", "Activos_activos"."tipo_activo", "Activos_activos"."placa", "Activos_activos"."tipo_vehiculo_id", "Activos_activos"."cliente_id", "Activos_activos"."icono_id", "Activos_activos"."vehiculo_seguro", "Activos_activos"."documentos_json", "Activos_activos"."varios_json", "Referencias_tipovehiculo"."id", "Referencias_tipovehiculo"."nombre", "Clientes_clientes"."id", "Clientes_clientes"."nombre", "Referencias_iconos"."id", "Referencias_iconos"."icono" FROM "Activos_activos" INNER JOIN "Clientes_clientes" ON ("Activos_activos"."cliente_id" = "Clientes_clientes"."id") LEFT OUTER JOIN "Referencias_tipovehiculo" ON ("Activos_activos"."tipo_vehiculo_id" = "Referencias_tipovehiculo"."id") INNER JOIN "Referencias_iconos" ON ("Activos_activos"."icono_id" = "Referencias_iconos"."id") WHERE "Activos_activos"."cliente_id" = 35 ORDER BY "Clientes_clientes"."nombre" ASC, "Activos_activos"."nombre" ASC; args=(35,)
DEBUG 2016-04-21 17:02:24,253 utils 1536 140353238808320 (0.001) SELECT "Equipos_equipos"."id", "Equipos_equipos"."identificador_celular", "Equipos_equipos"."identificador_satelital" FROM "Equipos_equipos" WHERE "Equipos_equipos"."activo_id" IN (779, 608, 691, 629, 768, 572, 639, 786, 610, 625, 646, 793, 761, 686, 764, 534, 749, 604, 533, 564, 711, 796, 599, 651, 682, 633, 641, 627, 661, 383, 769, 720, 726, 790, 773, 766, 782, 561, 784, 755, 783, 626, 603, 319, 498, 732, 448, 757, 432, 703, 658, 696, 792, 619, 752, 722, 512, 778, 727, 767, 750, 770, 605, 730, 678, 580, 607, 581, 712, 795, 613, 705, 390, 673, 657); args=(779, 608, 691, 629, 768, 572, 639, 786, 610, 625, 646, 793, 761, 686, 764, 534, 749, 604, 533, 564, 711, 796, 599, 651, 682, 633, 641, 627, 661, 383, 769, 720, 726, 790, 773, 766, 782, 561, 784, 755, 783, 626, 603, 319, 498, 732, 448, 757, 432, 703, 658, 696, 792, 619, 752, 722, 512, 778, 727, 767, 750, 770, 605, 730, 678, 580, 607, 581, 712, 795, 613, 705, 390, 673, 657)
DEBUG 2016-04-21 17:02:24,256 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 12; args=(12,)    
DEBUG 2016-04-21 17:02:24,259 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 21; args=(21,)
DEBUG 2016-04-21 17:02:24,260 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 23; args=(23,)
DEBUG 2016-04-21 17:02:24,261 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 28; args=(28,)
DEBUG 2016-04-21 17:02:24,262 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 37; args=(37,)
DEBUG 2016-04-21 17:02:24,263 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 38; args=(38,)
DEBUG 2016-04-21 17:02:24,264 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 43; args=(43,)
DEBUG 2016-04-21 17:02:24,265 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 44; args=(44,)
DEBUG 2016-04-21 17:02:24,266 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 45; args=(45,)
DEBUG 2016-04-21 17:02:24,267 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 46; args=(46,)
DEBUG 2016-04-21 17:02:24,268 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 48; args=(48,)
DEBUG 2016-04-21 17:02:24,269 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 52; args=(52,)
DEBUG 2016-04-21 17:02:24,269 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 56; args=(56,)
DEBUG 2016-04-21 17:02:24,271 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 208; args=(208,)
DEBUG 2016-04-21 17:02:24,272 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 215; args=(215,)
DEBUG 2016-04-21 17:02:24,273 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 220; args=(220,)
DEBUG 2016-04-21 17:02:24,274 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 228; args=(228,)
DEBUG 2016-04-21 17:02:24,275 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 293; args=(293,)
DEBUG 2016-04-21 17:02:24,276 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 302; args=(302,)
DEBUG 2016-04-21 17:02:24,277 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 303; args=(303,)
DEBUG 2016-04-21 17:02:24,278 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 305; args=(305,)
DEBUG 2016-04-21 17:02:24,279 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 306; args=(306,)
DEBUG 2016-04-21 17:02:24,280 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 307; args=(307,)
DEBUG 2016-04-21 17:02:24,281 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 308; args=(308,)
DEBUG 2016-04-21 17:02:24,282 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 309; args=(309,)
DEBUG 2016-04-21 17:02:24,283 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 310; args=(310,)
DEBUG 2016-04-21 17:02:24,285 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 333; args=(333,)
DEBUG 2016-04-21 17:02:24,285 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 338; args=(338,)
DEBUG 2016-04-21 17:02:24,287 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 340; args=(340,)
DEBUG 2016-04-21 17:02:24,288 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 342; args=(342,)
DEBUG 2016-04-21 17:02:24,289 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 346; args=(346,)
DEBUG 2016-04-21 17:02:24,290 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 365; args=(365,)
DEBUG 2016-04-21 17:02:24,291 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 395; args=(395,)
DEBUG 2016-04-21 17:02:24,292 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 396; args=(396,)
DEBUG 2016-04-21 17:02:24,293 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 398; args=(398,)
DEBUG 2016-04-21 17:02:24,294 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 404; args=(404,)
DEBUG 2016-04-21 17:02:24,295 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 405; args=(405,)
DEBUG 2016-04-21 17:02:24,296 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 416; args=(416,)
DEBUG 2016-04-21 17:02:24,297 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 417; args=(417,)
DEBUG 2016-04-21 17:02:24,298 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 425; args=(425,)
DEBUG 2016-04-21 17:02:24,299 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 439; args=(439,)
DEBUG 2016-04-21 17:02:24,300 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 440; args=(440,)
DEBUG 2016-04-21 17:02:24,301 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 445; args=(445,)
DEBUG 2016-04-21 17:02:24,302 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 446; args=(446,)
DEBUG 2016-04-21 17:02:24,303 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 448; args=(448,)
DEBUG 2016-04-21 17:02:24,304 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 449; args=(449,)
DEBUG 2016-04-21 17:02:24,305 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 457; args=(457,)
DEBUG 2016-04-21 17:02:24,306 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 470; args=(470,)
DEBUG 2016-04-21 17:02:24,307 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 471; args=(471,)
DEBUG 2016-04-21 17:02:24,308 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 476; args=(476,)
DEBUG 2016-04-21 17:02:24,309 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 479; args=(479,)
DEBUG 2016-04-21 17:02:24,310 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 480; args=(480,)
DEBUG 2016-04-21 17:02:24,311 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 481; args=(481,)
DEBUG 2016-04-21 17:02:24,312 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 482; args=(482,)
DEBUG 2016-04-21 17:02:24,314 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 494; args=(494,)
DEBUG 2016-04-21 17:02:24,315 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 495; args=(495,)
DEBUG 2016-04-21 17:02:24,316 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 513; args=(513,)
DEBUG 2016-04-21 17:02:24,317 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 520; args=(520,)
DEBUG 2016-04-21 17:02:24,318 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 523; args=(523,)
DEBUG 2016-04-21 17:02:24,319 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 526; args=(526,)
DEBUG 2016-04-21 17:02:24,320 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 527; args=(527,)
DEBUG 2016-04-21 17:02:24,321 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 713; args=(713,)
DEBUG 2016-04-21 17:02:24,322 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 714; args=(714,)
DEBUG 2016-04-21 17:02:24,323 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 715; args=(715,)
DEBUG 2016-04-21 17:02:24,324 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 720; args=(720,)
DEBUG 2016-04-21 17:02:24,325 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 721; args=(721,)
DEBUG 2016-04-21 17:02:24,326 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 722; args=(722,)
DEBUG 2016-04-21 17:02:24,327 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 723; args=(723,)
DEBUG 2016-04-21 17:02:24,328 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 789; args=(789,)
DEBUG 2016-04-21 17:02:24,329 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 793; args=(793,)
DEBUG 2016-04-21 17:02:24,330 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 794; args=(794,)
DEBUG 2016-04-21 17:02:24,331 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 795; args=(795,)
DEBUG 2016-04-21 17:02:24,332 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 803; args=(803,)
DEBUG 2016-04-21 17:02:24,333 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 825; args=(825,)
DEBUG 2016-04-21 17:02:24,334 utils 1536 140353238808320 (0.000) SELECT "Equipos_equipos"."id", "Equipos_equipos"."activo_id" FROM "Equipos_equipos" WHERE "Equipos_equipos"."id" = 866; args=(866,)

但当我这样问的时候:

# (without 'queryset=Equipos.objects.only('id', 'identificador_celular', 'identificador_satelital')'):

queryset = self.model.objects.all() \
            .only('id', 'is_active', 'nombre', 'vehiculo_seguro', 'tipo_activo', 'placa', 'tipo_vehiculo_id',
                  'documentos_json', 'varios_json', 'cliente_id__nombre', 'icono_id') \
            .prefetch_related(Prefetch('equipo_activo', to_attr='equipos')) \
            .select_related('tipo_vehiculo_id', 'cliente_id', 'icono_id') \
            .order_by('cliente_id__nombre', 'nombre')

日志结果是(只需点击数据库一次):

    DEBUG 2016-04-21 17:05:36,338 utils 1747 140565799393024 (0.003) SELECT "Activos_activos"."id", "Activos_activos"."is_active", "Activos_activos"."nombre", "Activos_activos"."tipo_activo", "Activos_activos"."placa", "Activos_activos"."tipo_vehiculo_id", "Activos_activos"."cliente_id", "Activos_activos"."icono_id", "Activos_activos"."vehiculo_seguro", "Activos_activos"."documentos_json", "Activos_activos"."varios_json", "Referencias_tipovehiculo"."id", "Referencias_tipovehiculo"."nombre", "Clientes_clientes"."id", "Clientes_clientes"."nombre", "Referencias_iconos"."id", "Referencias_iconos"."icono" FROM "Activos_activos" INNER JOIN "Clientes_clientes" ON ("Activos_activos"."cliente_id" = "Clientes_clientes"."id") LEFT OUTER JOIN "Referencias_tipovehiculo" ON ("Activos_activos"."tipo_vehiculo_id" = "Referencias_tipovehiculo"."id") INNER JOIN "Referencias_iconos" ON ("Activos_activos"."icono_id" = "Referencias_iconos"."id") WHERE "Activos_activos"."cliente_id" = 35 ORDER BY "Clientes_clientes"."nombre" ASC, "Activos_activos"."nombre" ASC; args=(35,)
DEBUG 2016-04-21 17:05:36,353 utils 1747 140565799393024 (0.001) SELECT "Equipos_equipos"."id", "Equipos_equipos"."is_active", "Equipos_equipos"."tipo_equipo_id", "Equipos_equipos"."cliente_id", "Equipos_equipos"."fecha_instalacion", "Equipos_equipos"."identificador_celular", "Equipos_equipos"."operador_celular_id", "Equipos_equipos"."numero_celular", "Equipos_equipos"."numero_sim", "Equipos_equipos"."plan_datos_celular", "Equipos_equipos"."apn", "Equipos_equipos"."identificador_satelital", "Equipos_equipos"."plan_datos_satelital", "Equipos_equipos"."mensajes_consumidos", "Equipos_equipos"."notificacion_satelital", "Equipos_equipos"."operador_satelital", "Equipos_equipos"."activo_id", "Equipos_equipos"."varios_json", "Equipos_equipos"."redireccion_json" FROM "Equipos_equipos" WHERE "Equipos_equipos"."activo_id" IN (779, 608, 691, 629, 768, 572, 639, 786, 610, 625, 646, 793, 761, 686, 764, 534, 749, 604, 533, 564, 711, 796, 599, 651, 682, 633, 641, 627, 661, 383, 769, 720, 726, 790, 773, 766, 782, 561, 784, 755, 783, 626, 603, 319, 498, 732, 448, 757, 432, 703, 658, 696, 792, 619, 752, 722, 512, 778, 727, 767, 750, 770, 605, 730, 678, 580, 607, 581, 712, 795, 613, 705, 390, 673, 657); args=(779, 608, 691, 629, 768, 572, 639, 786, 610, 625, 646, 793, 761, 686, 764, 534, 749, 604, 533, 564, 711, 796, 599, 651, 682, 633, 641, 627, 661, 383, 769, 720, 726, 790, 773, 766, 782, 561, 784, 755, 783, 626, 603, 319, 498, 732, 448, 757, 432, 703, 658, 696, 792, 619, 752, 722, 512, 778, 727, 767, 750, 770, 605, 730, 678, 580, 607, 581, 712, 795, 613, 705, 390, 673, 657)

现在Django logging的日志:

有人知道为什么会这样吗?如何使查询只与一个命中数据库的预取相关?在


Tags: fromdebugidargsutilswhereselectnombre
1条回答
网友
1楼 · 发布于 2024-04-25 23:27:47

使用only()时,请尝试包含activo_id字段。在

Prefetch('equipo_activo', queryset=Equipos.objects.only('id', 'identificador_celular', 'identificador_satelital', 'activo_id'), to_attr='equipos'))

相关问题 更多 >