def herds(self, rename=False): """ Returns all the available herds """ # FIXME: optimize the query, it uses 'LEFT OUTER JOIN' instead of # 'INNER JOIN' res = self.filter(herds__isnull=False) res = res.values('herds__herd').annotate(**ANNOTATE_DICT) if rename: res = rename_fields(res, [('herds__herd', 'herd')]) return res
def herds(self, ids=None, rename=False): """ Returns all the available herds """ # FIXME: optimize the query, it uses 'LEFT OUTER JOIN' instead of # 'INNER JOIN' if ids is not None: res = self.filter(herds__id__in=ids) else: res = self.filter(herds__isnull=False) res = res.values('herds__herd').annotate(**ANNOTATE_DICT) if rename: res = rename_fields(res, [('herds__herd', 'herd')]) return res
def maintainers(self, rename=False): """ Returns all the available maintainers """ res = self.filter(maintainers__isnull=False).values( 'maintainers__id', 'maintainers__name', 'maintainers__email' ) res = res.annotate(**ANNOTATE_DICT) if rename: res = rename_fields( res, [('maintainers__id', 'id'), ('maintainers__name', 'name'), ('maintainers__email', 'email')] ) return res
def maintainers(self, ids=None, rename=False): """ Returns all the available maintainers """ if ids is not None: res = self.filter(maintainers__id__in=ids) else: res = self.filter(maintainers__isnull=False) res = res.values('maintainers__id', 'maintainers__name', 'maintainers__email') res = res.annotate(**ANNOTATE_DICT) if rename: res = rename_fields(res, [('maintainers__id', 'id'), ('maintainers__name', 'name'), ('maintainers__email', 'email')]) return res