title: Django (1.10) override AdminSite
body: <p>I've tried to override AdminSite class with my own custom class. I followed tutorial from django's  documentation: <a href="https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#customizing-adminsite" rel="noreferrer">https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#customizing-adminsite</a> but it didn't work. To be specific, I'd like to override original AdminSite with my own class and not just add another admin site into my project.</p>
  
  <p>I've created my custom class MyAdminSite which inherit from class </p>
  
  <pre><code>from django.contrib.admin import AdminSite
  
  
  class MyAdminSite(AdminSite):
      pass
  </code></pre>
  
  <p>Then in my app urls.py I've add:</p>
  
  <pre><code>from django.conf.urls import url, include
  import django.contrib.admin as admin
  from .admin_site import MyAdminSite
  
  admin.site = MyAdminSite()
  admin.autodiscover()
  
  
  urlpatterns = [
      url(r'^', admin.site.urls),
  ]
  </code></pre>
  
  <p>It seemed to work, but admin models are register to AdminSite insted of MyAdminSite.</p>
  
  <p>I tried three ways of register models to my custom site:</p>
  
  <pre><code>@admin.register(Model)
  class ModelAdmin(model.AdminModel):
  ...
  </code></pre>
  
  <p>This way models are registered to original AdminSite.</p>
  
  <p>Second way:</p>
  
  <pre><code>@admin.site.register(Model):
  class ModelAdmin(model.AdminModel):
  ...
  </code></pre>
  
  <p>That don't work and cause exception. The ModelAdmin class isn't passed to register method.</p>
  
  <p>Last way:</p>
  
  <pre><code>class ModelAdmin(model.AdminModel):
  ...
  admin.site.register(Model, ModelAdmin)
  </code></pre>
  
  <p>That works, but on admin site I can see only my models not models from Django admin (Users and Groups).</p>
  
  <p>How can I permanently override admin.site and register all models to MyAdminSite?</p>