title: How to avoid admin.E111 error in Django 1.9.2?
body: <p>Up until Django 1.8.x I had this code in my <code>admin.py</code> file:</p>
  
  <pre><code>class MyClassAdmin(admin.ModelAdmin):
      ...
      list_display = ('field1', 'field2', 'field3')
  
      def __init__(self, *args, **kwargs):
          super(MyClassAdmin, self).__init__(*args, **kwargs)
          self.list_display_links = (None, )
  </code></pre>
  
  <p>This was meant to disable the link on the rows of the Model when the users opened it. I need this because this refers to a read-only table and I don't want users to be able to even edit entries.</p>
  
  <p>Recently, I upgraded to Django 1.9.2, and this code is currently returning an error:</p>
  
  <blockquote>
    <p>django.core.management.base.SystemCheckError: SystemCheckError: System
    check identified some issues:</p>
    
    <p>ERRORS: : (admin.E111) The value of
    'list_display_links[0]' refers to 'None', which is not defined in
    'list_display'.</p>
  </blockquote>
  
  <p>As per the <a href="https://docs.djangoproject.com/es/1.9/ref/checks/" rel="nofollow">Django docs</a>, this is:</p>
  
  <blockquote>
    <p>admin.E111: The value of list_display_links[n] refers to , which is not defined in list_display.</p>
  </blockquote>
  
  <p>This is quite vague and doesn't explain how to handle non-string values such as <code>None</code>.</p>
  
  <p>How can I modify this piece of code so I can overwrite the <code>list_display_links</code> attribute in the <code>__init__</code> function?</p>