title: 'str' object has no attribute 'attname'
body: <p>I am trying to display a link to the next and previous object according the title field using  get_next_or_previous_by_FIELD. Django 1.6 is throwing me this error.</p>
  
  <p>Error during template rendering
  <code>'str' object has no attribute 'attname'</code></p>
  
  <p>Error occurs here in template. </p>
  
  <p><code>{% with next_lesson=lesson.get_next_by_title %}</code></p>
  
  <p>And here in my models.</p>
  
  <p><code>return self._get_next_or_previous_by_FIELD('title', is_next=True)</code></p>
  
  <p>Here is my model.</p>
  
  <pre><code>class LessonManager(models.Manager):
      def all(self):
          return super(LessonManager, self).filter(active=True)
  
  class Lesson(models.Model):
      active = models.BooleanField(default=False)
      title = models.CharField(max_length=65)
      slug = models.SlugField(unique=True)
  
      objects = LessonManager()
  
      def __unicode__(self, ):
          return self.title
  
      class Meta:
          ordering = ['title']
  
      def get_absolute_url(self):
          return reverse('lesson', args=[str(self.slug)])
  
      def get_next_by_title(self):
          try:
              return self._get_next_or_previous_by_FIELD('title', is_next=True)
          except Lesson.DoesNotExist:
              return None
  
      def get_previous_by_title(self):
          try:
              return self._get_next_or_previous_by_FIELD(order='title', is_next=False)
          except Lesson.DoesNotExist:
              return None
  </code></pre>
  
  <p>And here is my template.</p>
  
  <pre><code>&lt;a class="col-md-6" href="{{ lesson.get_previous_by_title.get_absolute_url }}" title="{% trans "View previous post" %}"&gt;&amp;laquo; {{ lesson.get_previous_by_title.title }}&lt;/a&gt;
  &lt;a class="col-md-6" href="{{ lesson.get_next_by_title.get_absolute_url }}" title="{% trans "View previous post" %}"&gt;&amp;laquo; {{ lesson.get_next_by_title.title }}&lt;/a&gt;
  </code></pre>
  
  <p>Here is the full traceback as requested.</p>
  
  <pre><code>Environment:
  
  
  Request Method: GET
  Request URL: /tutorials/lesson/lesson-name/
  
  Django Version: 1.6.2
  Python Version: 2.7.6
  Installed Applications:
  ('django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'blog',
   'ckeditor',
   'tutorials')
  Installed Middleware:
  ('django.contrib.sessions.middleware.SessionMiddleware',
   'django.middleware.common.CommonMiddleware',
   'django.middleware.csrf.CsrfViewMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   'django.contrib.messages.middleware.MessageMiddleware',
   'django.middleware.clickjacking.XFrameOptionsMiddleware')
  Template error:
  In template C:\Users\Shaun\Desktop\sg\static\templates\tutorials\lesson.html, error at line 22
     'str' object has no attribute 'attname'
     12 :     {% endif %}
  
  
     13 :     {% if lesson.get_next_by_timestamp %}
  
  
     14 :         &lt;a class="right" href="{{ lesson.get_next_post.get_absolute_url }}"&gt;{{ lesson.get_next_post.title|truncatewords:'4' }} &amp;raquo;&lt;/a&gt;
  
  
     15 :     {% endif %}
  
  
     16 : 
  
  
     17 :     &lt;div class='clearfix'&gt;&lt;/div&gt;
  
  
     18 : 
  
  
     19 :     &lt;h2&gt;{{ lesson.title|upper }}&lt;/h2&gt;
  
  
     20 :     &lt;p&gt;{{ lesson.content|safe }}&lt;/p&gt;
  
  
     21 :     
  
  
     22 :     &lt;a class="col-md-6" href=" {{ lesson.get_previous_by_title.get_absolute_url }} " title="{% trans "View previous post" %}"&gt;&amp;laquo; {{ lesson.get_previous_by_title.title }}&lt;/a&gt;
  
  
     23 :   &lt;a class="col-md-6" href="{{ lesson.get_next_by_title.get_absolute_url }}" title="{% trans "View previous post" %}"&gt;&amp;laquo; {{ lesson.get_next_by_title.title }}&lt;/a&gt;
  
  
     24 : 
  
  
     25 : {% endblock %}
  
  Traceback:
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\core\handlers\base.py" in get_response
    114.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Shaun\Desktop\sg\src\tutorials\views.py" in single_lesson
    13.     return render_to_response('tutorials/lesson.html', locals(), context_instance=RequestContext(request))
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\shortcuts\__init__.py" in render_to_response
    29.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\loader.py" in render_to_string
    169.         return t.render(context_instance)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in render
    140.             return self._render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in _render
    134.         return self.nodelist.render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in render
    840.                 bit = self.render_node(node, context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\debug.py" in render_node
    78.             return node.render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\loader_tags.py" in render
    123.         return compiled_parent._render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in _render
    134.         return self.nodelist.render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in render
    840.                 bit = self.render_node(node, context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\debug.py" in render_node
    78.             return node.render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\loader_tags.py" in render
    62.             result = block.nodelist.render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in render
    840.                 bit = self.render_node(node, context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\debug.py" in render_node
    78.             return node.render(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\debug.py" in render
    88.             output = self.filter_expression.resolve(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in resolve
    585.                 obj = self.var.resolve(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in resolve
    735.             value = self._resolve_lookup(context)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\template\base.py" in _resolve_lookup
    789.                             current = current()
  File "C:\Users\Shaun\Desktop\sg\src\tutorials\models.py" in get_previous_by_title
    64.             return self._get_next_or_previous_by_FIELD('title', is_next=False)
  File "C:\Users\Shaun\Desktop\sg\lib\site-packages\django\db\models\base.py" in _get_next_or_previous_by_FIELD
    708.         param = force_text(getattr(self, field.attname))
  
  Exception Type: AttributeError at /tutorials/lesson/setting-up-your-django-blog-application/
  Exception Value: 'str' object has no attribute 'attname'
  </code></pre>