Pycharm step through

With the following code:

oDth = Dth.objects.filter(dth_field_label__istartswith=tSearch, dth_languange='1')
    for j in oDth:
        tResult = tResult+ j.dth_ref + '</br>'

When debugging and stepping through we get 3 hits to the database:

2011-11-03 09:50:48 MST: LOG:  statement: SELECT "dth"."dth_key", "dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange", "dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth" WHERE ("dth"."dth_languange" = 1  AND UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') ) LIMIT 21
2011-11-03 09:50:49 MST: LOG:  statement: SELECT "dth"."dth_key", "dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange", "dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth" WHERE ("dth"."dth_languange" = 1  AND UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') ) LIMIT 21
2011-11-03 09:50:49 MST: LOG:  statement: SELECT "dth"."dth_key", "dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange", "dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth" WHERE ("dth"."dth_languange" = 1  AND UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') )

But if we let it go at once we just get one:

2011-11-03 09:51:40 MST: LOG:  statement: SELECT "dth"."dth_key", "dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange", "dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth" WHERE ("dth"."dth_languange" = 1  AND UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') )

Can someone help us figure out why the hits to the database are not consistent while running the same code?

2 comments
Comment actions Permalink

Hello Juan,

PyCharm evaluates variables and properties of objects for displaying the

Watches view. It's likely that the extra database calls stem from this evaluation.

With the following code:

+oDth = Dth.objects.filter(dth_field_label__istartswith=tSearch,

dth_languange='1')

for j in oDth:

tResult = tResult+ j.dth_ref + '</br>'+

When debugging and stepping through we get 3 hits to the database:

2011-11-03 09:50:48 MST: LOG:  statement: SELECT "dth"."dth_key",

"dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange",

"dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth"

WHERE ("dth"."dth_languange" = 1  AND

UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') ) LIMIT 21

2011-11-03 09:50:49 MST: LOG:  statement: SELECT "dth"."dth_key",

"dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange",

"dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth"

WHERE ("dth"."dth_languange" = 1  AND

UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') ) LIMIT 21

2011-11-03 09:50:49 MST: LOG:  statement: SELECT "dth"."dth_key",

"dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange",

"dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth"

WHERE ("dth"."dth_languange" = 1  AND

UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') )

But if we let it go at once we just get one:

2011-11-03 09:51:40 MST: LOG:  statement: SELECT "dth"."dth_key",

"dth"."dth_ref", "dth"."dth_help_text", "dth"."dth_languange",

"dth"."dth_field_label", "dth"."dth_sid", "dth"."dth_type" FROM "dth"

WHERE ("dth"."dth_languange" = 1  AND

UPPER("dth"."dth_field_label"::text) LIKE UPPER('hi%') )

Can someone help us figure out why the hits to the database are not

consistent while running the same code?

---

Original message URL:

http://devnet.jetbrains.net/message/5366566#5366566

--

Dmitry Jemerov

Development Lead

JetBrains, Inc.

http://www.jetbrains.com/

"Develop with Pleasure!"

0
Comment actions Permalink

The answer make sense and by testing we confirm what was said. It was helpful not to freak out too

0

Please sign in to leave a comment.