def get_related_by_tags_q(self, tags, q): """ Returns all items with given tags with the Q object """ if is_string(tags): tags = tags.split(',') tags = escape_tags(tags) tags = '|'.join(tags) q = Q(tags__regex=r'(%s)' % tags) | q return self.model.objects.filter(q)
def get_related_by_tags(self, tags, instance=None): """ Return all items which have given tags instance = exclude pk """ if is_string(tags): tags = tags.split(',') tags = escape_tags(tags) tags = '|'.join(tags) qs = self.model.objects.filter(**{'%s__regex' % self.model._tags_field_name: r'(%s)' % tags }) if instance is not None: qs = qs.exclude(pk=instance.pk) return qs