On Sat, May 16, 2015 at 5:27 PM, Erik Cederstrand <[email protected]
> wrote:

>
> > Den 15/05/2015 kl. 20.54 skrev Timothy W. Cook <[email protected]>:
> >
> >     def formfield_for_many_to_many(self, db_field, *args, **kwargs):
> >         formfield = super(ClusterAdmin,
> self).formfield_for_many_to_many(db_field, *args, **kwargs)
> >         if db_field.name in
> ['cluster','dvboolean','dvuri','dvstring','dvcodedstring','dvidentifier','dvparsable','dvmedia',
> >
> 'dvordinal','dvcount','dvquantity','dvratio','dvtemporal']:
> >             formfield.queryset =
> formfield.queryset.select_related('project')
> >         return formfield
> >
> >
> >
> > ​Each of the ManyToMany references have this in their model:
> >
> >
> > ​    def __str__(self):
> >         return self.prj_name.prj_name + ":" + self.data_name
>
> Are you sure you don't mean
>
>    formfield.queryset.select_related('prj_name')
>
> If 'prj_name' is the FK on your m2m models, then that's what should be
> passed to select_related()
>
> Django 1.8 should catch this for you, if 'project' isn't also a FK on your
> model.
>
>
​Project is the model used as the foreign key. ​
But yes, I suppose that prj_name is the correct field name to use there.
However, I still have 4520 queries executing.  Before that change it was
4521.
Strange that it would drop by only one query.  I changed it back to
'project' just to be sure I remembered correctly and yes it went back to
4521.

The queries look like this:

*SELECT* "ccdgen_cluster"."id"
<http://127.0.0.1:8000/admin/ccdgen/cluster/209/#> *FROM*
"ccdgen_cluster" *INNER
JOIN* "ccdgen_cluster_clusters" *ON* ( "ccdgen_cluster"."id" =
"ccdgen_cluster_clusters"."to_cluster_id" ) *INNER JOIN* "ccdgen_project"
*ON* ( "ccdgen_cluster"."prj_name_id" = "ccdgen_project"."prj_name" )
*WHERE* "ccdgen_cluster_clusters"."from_cluster_id" = 209 *ORDER* *BY*
"ccdgen_project"."prj_name" *ASC*, "ccdgen_cluster"."cluster_subject" *ASC*

*...*


*SELECT "ccdgen_project"."id", "ccdgen_project"."pgroup_id",
"ccdgen_project"."prj_name", "ccdgen_project"."description",
"ccdgen_project"."rm_version_id"
<http://127.0.0.1:8000/admin/ccdgen/cluster/209/#> FROM
"ccdgen_project" WHERE "ccdgen_project"."prj_name"
= 'Brain Tumors'*

*Most take between .35 and .9 seconds.  *
*Except this one took 17 seconds.  No idea why except possibly memory
swapping or something at that point?*
*It seems to be just like many of the others. *

*SELECT •••
<http://127.0.0.1:8000/admin/ccdgen/cluster/209/#> FROM
"ccdgen_dvtemporal" INNER
JOIN "ccdgen_project" ON ( "ccdgen_dvtemporal"."prj_name_id" =
"ccdgen_project"."prj_name" ) ORDER BY "ccdgen_project"."prj_name" ASC,
"ccdgen_dvtemporal"."data_name" ASC*

These are all times running with the dev server on a laptop.  They do not
take that long on a small AWS instance.
*But still too long to be friendly to most users. *

*Thanks for any other insight. *

*--Tim*







> Erik
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/D28F7970-28EB-46DE-9FD2-3BD3F63A085E%40cederstrand.dk
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 

============================================
Timothy Cook
LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook
MLHIM http://www.mlhim.org

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CA%2B%3DOU3UmG1Pyj90gSr_EQP1ogLT-CL3u2nd1MRSepXWmAmv9Lg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to