kmike / django-generic-images

This app provides image model (with useful managers, fields, utility methods and advanced admin image uploader) that can be attached to any other Django model using generic relations. License is MIT.

Changed (Δ234 bytes):

raw changeset »

generic_utils/managers.py (8 lines added, 1 lines removed)

setup.py (1 lines added, 1 lines removed)

Up to file-list generic_utils/managers.py:

@@ -17,7 +17,8 @@ class RelatedInjector(models.Manager):
17
17
        self.fk_field = fk_field
18
18
        super(RelatedInjector, self).__init__(*args, **kwargs)
19
19
20
    def inject_to(self, objects, field_name, get_inject_object = lambda obj: obj,  **kwargs):
20
    def inject_to(self, objects, field_name, get_inject_object = lambda obj: obj,
21
                  select_related = None, **kwargs):
21
22
        '''
22
23
        ``objects`` is an iterable. Related objects
23
24
            will be attached to elements of this iterable.
@@ -29,6 +30,9 @@ class RelatedInjector(models.Manager):
29
30
            result of ``get_inject_object(obj)``. It is assumed that ``fk_field``
30
31
            points to  ``get_inject_object(obj)``.
31
32
33
        ``select_related`` is a list to be passed to select_related method for
34
            related objects.
35
32
36
        All other kwargs will be passed as arguments to queryset filter function.
33
37
34
38
        For example, we need to prefetch user profiles when we display a list of
@@ -68,6 +72,9 @@ class RelatedInjector(models.Manager):
68
72
        kwargs.update({self.fk_field+'__in': [ get_inject_object(obj).pk for obj in objects ]})
69
73
70
74
        data = self.get_query_set().filter(**kwargs)
75
        if select_related:
76
            data = data.select_related(select_related)
77
71
78
        data_dict = dict((getattr(item, self.fk_field), item) for item in list(data))
72
79
73
80
        # add info to original data

Up to file-list setup.py:

@@ -3,7 +3,7 @@ from distutils.core import setup
3
3
4
4
setup(
5
5
      name='django-generic-images',
6
      version='0.36',
6
      version='0.36.1',
7
7
      author='Mikhail Korobov',
8
8
      author_email='kmike84@gmail.com',
9
9
      url='http://bitbucket.org/kmike/django-generic-images/',