예제 #1
0
    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)
예제 #2
0
    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