def METHOD_NAME(self):
    q_include = Q()
    q_exclude = Q()
    if self.fresh_tags:  # including
        for t in self.include_tags:
            q_include |= Q(tags__match={"name": t.name, "fresh": True})
    else:
        q_include |= Q(tags__name__in=[t.name for t in self.include_tags])
    if self.fresh_tags:  # excluding
        for t in self.exclude_tags:
            q_exclude |= Q(tags__match__ne={"name": t.name, "fresh": True})
    else:
        q_exclude |= Q(tags__name__nin=[t.name for t in self.exclude_tags])
    if self.fresh_tags:
        q = (
            Q(tags__not__size=0, tags__match={"fresh": True})
            & q_include
            & q_exclude
            & Q(_cls="Observable.{}".format(self.acts_on))
        )
    else:
        q = (
            Q(tags__not__size=0)
            & q_include
            & q_exclude
            & Q(_cls="Observable.{}".format(self.acts_on))
        )
    return self.template.render(
        self.filter_ignore_tags(Observable.objects(q).no_cache()), self.output_file
    )