summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_views/models.py
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2011-02-20 23:19:21 +0000
committerRamiro Morales <cramm0@gmail.com>2011-02-20 23:19:21 +0000
commit1d1f3632c636b24c1ade41a61b5e6792a0987ec7 (patch)
tree33b32d0104e81bf638bf6bbd03b7e3a77aea3347 /tests/regressiontests/admin_views/models.py
parentd65ca449ace1f8e4bd3064c40343a3c5ea2a7ce0 (diff)
[1.2.X] Fixed #14529 -- Fixed representation of model names in admin messages after model object changes when the ModelAdmin queryset() uses defer() or only(). Thanks rlaager for report and initial patch, to rasca an julien for help in tracking the problem.
Backport of [15596] from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15597 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/admin_views/models.py')
-rw-r--r--tests/regressiontests/admin_views/models.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_views/models.py b/tests/regressiontests/admin_views/models.py
index 17d3dffe4d..374d3b7b0f 100644
--- a/tests/regressiontests/admin_views/models.py
+++ b/tests/regressiontests/admin_views/models.py
@@ -667,6 +667,37 @@ class FoodDeliveryAdmin(admin.ModelAdmin):
list_display=('reference', 'driver', 'restaurant')
list_editable = ('driver', 'restaurant')
+class Paper(models.Model):
+ title = models.CharField(max_length=30)
+ author = models.CharField(max_length=30, blank=True, null=True)
+
+class CoverLetter(models.Model):
+ author = models.CharField(max_length=30)
+ date = models.DateField(null=True, blank=True)
+
+ def __unicode__(self):
+ return self.author
+
+class PaperAdmin(admin.ModelAdmin):
+ """
+ A ModelAdin with a custom queryset() method that uses only(), to test
+ verbose_name display in messages shown after adding Paper instances.
+ """
+
+ def queryset(self, request):
+ return super(PaperAdmin, self).queryset(request).only('title')
+
+class CoverLetterAdmin(admin.ModelAdmin):
+ """
+ A ModelAdin with a custom queryset() method that uses only(), to test
+ verbose_name display in messages shown after adding CoverLetter instances.
+ Note that the CoverLetter model defines a __unicode__ method.
+ """
+
+ def queryset(self, request):
+ #return super(CoverLetterAdmin, self).queryset(request).only('author')
+ return super(CoverLetterAdmin, self).queryset(request).defer('date')
+
admin.site.register(Article, ArticleAdmin)
admin.site.register(CustomArticle, CustomArticleAdmin)
@@ -706,6 +737,8 @@ admin.site.register(WorkHour, WorkHourAdmin)
admin.site.register(Reservation)
admin.site.register(FoodDelivery, FoodDeliveryAdmin)
admin.site.register(RowLevelChangePermissionModel, RowLevelChangePermissionModelAdmin)
+admin.site.register(Paper, PaperAdmin)
+admin.site.register(CoverLetter, CoverLetterAdmin)
# We intentionally register Promo and ChapterXtra1 but not Chapter nor ChapterXtra2.
# That way we cover all four cases: