~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to pybb/orm.py

  • Committer: franku
  • Date: 2016-12-13 18:28:51 UTC
  • mto: This revision was merged to the branch mainline in revision 443.
  • Revision ID: somal@arcor.de-20161213182851-bo5ebf8pdvw5beua
run the script

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
def load_related(objects, rel_qs, rel_field_name, cache_field_name=None):
2
 
    """
3
 
    Load in one SQL query the objects from query set (rel_qs)
4
 
    which is linked to objects from (objects) via the field (rel_field_name).
5
 
    """
 
2
    """Load in one SQL query the objects from query set (rel_qs) which is
 
3
    linked to objects from (objects) via the field (rel_field_name)."""
6
4
 
7
5
    obj_map = dict((x.id, x) for x in objects)
8
6
    rel_field = rel_qs.model._meta.get_field(rel_field_name)
12
10
 
13
11
    temp_map = {}
14
12
    for rel_obj in rel_objects:
15
 
        pk = getattr(rel_obj, rel_field.attname )
 
13
        pk = getattr(rel_obj, rel_field.attname)
16
14
        temp_map.setdefault(pk, []).append(rel_obj)
17
15
 
18
16
    for pk, rel_list in temp_map.iteritems():