summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2009-03-29 18:52:38 +0000
committerBrian Rosner <brosner@gmail.com>2009-03-29 18:52:38 +0000
commit69977d2045ba98918182d1229fc73acae62a2e8e (patch)
treea91c06f9d68281bfae19ea04b6da6475e0fdbbd1 /tests
parentf0b7cc4a2331884c29fd431c8bc76c13d9d82d46 (diff)
Fixed #10622 -- Resolved an issue with model inheritence and list_editable. Thanks oyvind and Alex Gaynor.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10178 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/admin_views/models.py19
-rw-r--r--tests/regressiontests/admin_views/tests.py9
2 files changed, 23 insertions, 5 deletions
diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py
index e5e112fa43..354646344b 100644
--- a/tests/regressiontests/admin_views/models.py
+++ b/tests/regressiontests/admin_views/models.py
@@ -143,10 +143,10 @@ class Person(models.Model):
name = models.CharField(max_length=100)
gender = models.IntegerField(choices=GENDER_CHOICES)
alive = models.BooleanField()
-
+
def __unicode__(self):
return self.name
-
+
class Meta:
ordering = ["id"]
@@ -236,6 +236,18 @@ def redirect_to(request, selected):
class ExternalSubscriberAdmin(admin.ModelAdmin):
actions = [external_mail, redirect_to]
+class Media(models.Model):
+ name = models.CharField(max_length=60)
+
+class Podcast(Media):
+ release_date = models.DateField()
+
+class PodcastAdmin(admin.ModelAdmin):
+ list_display = ('name', 'release_date')
+ list_editable = ('release_date',)
+
+ ordering = ('name',)
+
admin.site.register(Article, ArticleAdmin)
admin.site.register(CustomArticle, CustomArticleAdmin)
admin.site.register(Section, inlines=[ArticleInline])
@@ -246,6 +258,7 @@ admin.site.register(Person, PersonAdmin)
admin.site.register(Persona, PersonaAdmin)
admin.site.register(Subscriber, SubscriberAdmin)
admin.site.register(ExternalSubscriber, ExternalSubscriberAdmin)
+admin.site.register(Podcast, PodcastAdmin)
# We intentionally register Promo and ChapterXtra1 but not Chapter nor ChapterXtra2.
# That way we cover all four cases:
@@ -259,5 +272,3 @@ admin.site.register(ExternalSubscriber, ExternalSubscriberAdmin)
admin.site.register(Book, inlines=[ChapterInline])
admin.site.register(Promo)
admin.site.register(ChapterXtra1)
-
-
diff --git a/tests/regressiontests/admin_views/tests.py b/tests/regressiontests/admin_views/tests.py
index ce6356726f..2fd4c076b0 100644
--- a/tests/regressiontests/admin_views/tests.py
+++ b/tests/regressiontests/admin_views/tests.py
@@ -1,6 +1,7 @@
# coding: utf-8
import re
+import datetime
from django.test import TestCase
from django.contrib.auth.models import User, Permission
@@ -12,7 +13,7 @@ from django.contrib.admin.helpers import ACTION_CHECKBOX_NAME
from django.utils.html import escape
# local test models
-from models import Article, CustomArticle, Section, ModelWithStringPrimaryKey, Person, Persona, FooAccount, BarAccount, Subscriber, ExternalSubscriber
+from models import Article, CustomArticle, Section, ModelWithStringPrimaryKey, Person, Persona, FooAccount, BarAccount, Subscriber, ExternalSubscriber, Podcast
try:
set
@@ -740,6 +741,12 @@ class AdminViewListEditable(TestCase):
def tearDown(self):
self.client.logout()
+ def test_inheritance(self):
+ Podcast.objects.create(name="This Week in Django",
+ release_date=datetime.date.today())
+ response = self.client.get('/test_admin/admin/admin_views/podcast/')
+ self.failUnlessEqual(response.status_code, 200)
+
def test_changelist_input_html(self):
response = self.client.get('/test_admin/admin/admin_views/person/')
# 2 inputs per object(the field and the hidden id field) = 6