summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_registration
diff options
context:
space:
mode:
authorJustin Bronn <jbronn@gmail.com>2008-08-05 17:15:33 +0000
committerJustin Bronn <jbronn@gmail.com>2008-08-05 17:15:33 +0000
commitaa239e3e5405933af6a29dac3cf587b59a099927 (patch)
treeea2cbd139c9a8cf84c09e0b2008bff70e05927ef /tests/regressiontests/admin_registration
parent45b73c9a4685809236f84046cc7ffd32a50db958 (diff)
gis: Merged revisions 7981-8001,8003-8011,8013-8033,8035-8036,8038-8039,8041-8063,8065-8076,8078-8139,8141-8154,8156-8214 via svnmerge from trunk.archive/attic/gis
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@8215 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_registration')
-rw-r--r--tests/regressiontests/admin_registration/__init__.py0
-rw-r--r--tests/regressiontests/admin_registration/models.py64
2 files changed, 64 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_registration/__init__.py b/tests/regressiontests/admin_registration/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/regressiontests/admin_registration/__init__.py
diff --git a/tests/regressiontests/admin_registration/models.py b/tests/regressiontests/admin_registration/models.py
new file mode 100644
index 0000000000..fdfa3691b8
--- /dev/null
+++ b/tests/regressiontests/admin_registration/models.py
@@ -0,0 +1,64 @@
+"""
+Tests for various ways of registering models with the admin site.
+"""
+
+from django.db import models
+from django.contrib import admin
+
+class Person(models.Model):
+ name = models.CharField(max_length=200)
+
+class Place(models.Model):
+ name = models.CharField(max_length=200)
+
+__test__ = {'API_TESTS':"""
+
+
+# Bare registration
+>>> site = admin.AdminSite()
+>>> site.register(Person)
+>>> site._registry[Person]
+<django.contrib.admin.options.ModelAdmin object at ...>
+
+# Registration with a ModelAdmin
+>>> site = admin.AdminSite()
+>>> class NameAdmin(admin.ModelAdmin):
+... list_display = ['name']
+... save_on_top = True
+
+>>> site.register(Person, NameAdmin)
+>>> site._registry[Person]
+<regressiontests.admin_registration.models.NameAdmin object at ...>
+
+# You can't register the same model twice
+>>> site.register(Person)
+Traceback (most recent call last):
+ ...
+AlreadyRegistered: The model Person is already registered
+
+# Registration using **options
+>>> site = admin.AdminSite()
+>>> site.register(Person, search_fields=['name'])
+>>> site._registry[Person].search_fields
+['name']
+
+# With both admin_class and **options the **options override the fields in
+# the admin class.
+>>> site = admin.AdminSite()
+>>> site.register(Person, NameAdmin, search_fields=["name"], list_display=['__str__'])
+>>> site._registry[Person].search_fields
+['name']
+>>> site._registry[Person].list_display
+['__str__']
+>>> site._registry[Person].save_on_top
+True
+
+# You can also register iterables instead of single classes -- a nice shortcut
+>>> site = admin.AdminSite()
+>>> site.register([Person, Place], search_fields=['name'])
+>>> site._registry[Person]
+<django.contrib.admin.sites.PersonAdmin object at ...>
+>>> site._registry[Place]
+<django.contrib.admin.sites.PlaceAdmin object at ...>
+
+"""}