python - How can I retrieve data from multiple tables -


i need retrieve data multiple tables, dynamically built filter might or might not use data of tables.

so have this:

class solution(models.model):     name = models.charfield(max_length=max, unique=true)     # other data  class exporttrackingrecord(models.model):     tracked_id = models.integerfield()     solution = models.foreignkey(solution)     # other data 

then elsewhere need do:

 def get_data(user_provided_criteria):       etr = exporttrackingrecord.objects.filter(make_q_object(user_provided_criteria)).select_related()        data in etr:            s = data.solution           # things data both tables 

as far can tell, if happen filter on field in solution, django join, , select_related both objects. if filter on fields in exporttrackingrecord there no join, , django generate new query each exporttrackingrecord in queryset (which thousands...)

i new django, there reasonable way force join?

select_related() key problem. if don't use , don't filter on fields of related model django not join , cause query every row in result if accessing data of related model.

if exporttrackingrecord.objects.filter(...).select_related('solution') force django join solution table.

if need same in other direction, through reverse foreign key relation ship need prefetch_related(), same many-to-many relations


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -