title: django-taggit deep relationship query
body: <p>I'm using django-taggit and I came upon a problem when trying to filter across relationships.</p>
  
  <p>Having the following models:</p>
  
  <pre><code>class Artist(models.Model):
       tags = TaggableManager()
  
  
  class Gig(models.Model):
      artist = models.ManyToManyField(Artist)
  </code></pre>
  
  <p>What I would like to achieve is the get all gigs who's artist(s) have a specific tag.</p>
  
  <p>I thought this would be easy and eagerly wrote:</p>
  
  <pre><code>Gig.objects.filter(artist__tags__name__in=["rock"])
  </code></pre>
  
  <p>Which gave me:</p>
  
  <pre><code>Traceback (most recent call last):
  File "&lt;console&gt;", line 1, in &lt;module&gt;
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/manager.py", line  141, in filter
  return self.get_query_set().filter(*args, **kwargs)
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/query.py", line 550, in filter
    return self._filter_or_exclude(False, *args, **kwargs)
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/query.py", line 568, in _filter_or_exclude
  clone.query.add_q(Q(*args, **kwargs))
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1172, in add_q
  can_reuse=used_aliases, force_having=force_having)
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1139, in add_filter
  process_extras=False)
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1060, in add_filter
  negate=negate, process_extras=process_extras)
  File "/home/jonas/.virtualenvs/wsw/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1238, in setup_joins
  "Choices are: %s" % (name, ", ".join(names)))
   FieldError: Cannot resolve keyword 'tagged_items' into field. Choices are: artist, date, id, location, url
  </code></pre>