admin.py

from django.contrib import admin

from .models import Story

admin.site.register(Story)
raise Exception("Bad admin module")

models.py 

from django.db import models


class Story(models.Model):
    title = models.CharField(max_length=10)

tests.py

from django.contrib import admin
from django.test import SimpleTestCase


class AdminAutoDiscoverTests(SimpleTestCase):
    """
    Test for bug #8245 - don't raise an AlreadyRegistered exception when using
    autodiscover() and an admin.py module contains an error.
    """

    def test_double_call_autodiscover(self):
        # The first time autodiscover is called, we should get our real error.
        with self.assertRaisesMessage(Exception, "Bad admin module"):
            admin.autodiscover()
        # Calling autodiscover again should raise the very same error it did
        # the first time, not an AlreadyRegistered error.
        with self.assertRaisesMessage(Exception, "Bad admin module"):
            admin.autodiscover()

keywords: pythondjango