From 13ae9e484d6dbd1ab0affee07922a5337591fa5f Mon Sep 17 00:00:00 2001 From: Brian Rosner Date: Wed, 14 May 2008 05:48:44 +0000 Subject: newforms-admin: Merged from trunk up to [7526]. git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7533 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/modeltests/basic/models.py | 12 ++++++++++++ tests/regressiontests/queries/models.py | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/modeltests/basic/models.py b/tests/modeltests/basic/models.py index 51de8a50f8..d7c27cb15b 100644 --- a/tests/modeltests/basic/models.py +++ b/tests/modeltests/basic/models.py @@ -398,4 +398,16 @@ u'\u6797\u539f \u3081\u3050\u307f' >>> s = set([a10, a11, a12]) >>> Article.objects.get(headline='Article 11') in s True + +# The 'select' argument to extra() supports names with dashes in them, as long +# as you use values(). +>>> Article.objects.filter(pub_date__year=2008).extra(select={'dashed-value': '1'}).values('headline', 'dashed-value') +[{'headline': u'Article 11', 'dashed-value': 1}, {'headline': u'Article 12', 'dashed-value': 1}] + +# If you use 'select' with extra() and names containing dashes on a query +# that's *not* a values() query, those extra 'select' values will silently be +# ignored. +>>> articles = Article.objects.filter(pub_date__year=2008).extra(select={'dashed-value': '1', 'undashedvalue': '2'}) +>>> articles[0].undashedvalue +2 """ diff --git a/tests/regressiontests/queries/models.py b/tests/regressiontests/queries/models.py index 6fd361ec19..5beaf5fb09 100644 --- a/tests/regressiontests/queries/models.py +++ b/tests/regressiontests/queries/models.py @@ -120,13 +120,13 @@ class LoopZ(models.Model): # A model and custom default manager combination. class CustomManager(models.Manager): def get_query_set(self): - return super(CustomManager, self).get_query_set().filter(public=True, - tag__name='t1') + qs = super(CustomManager, self).get_query_set() + return qs.filter(is_public=True, tag__name='t1') class ManagedModel(models.Model): data = models.CharField(max_length=10) tag = models.ForeignKey(Tag) - public = models.BooleanField(default=True) + is_public = models.BooleanField(default=True) objects = CustomManager() normal_manager = models.Manager() @@ -698,7 +698,7 @@ More twisted cases, involving nested negations. Bug #7095 Updates that are filtered on the model being updated are somewhat tricky to get in MySQL. This exercises that case. ->>> mm = ManagedModel.objects.create(data='mm1', tag=t1, public=True) +>>> mm = ManagedModel.objects.create(data='mm1', tag=t1, is_public=True) >>> ManagedModel.objects.update(data='mm') """} -- cgit v1.3