summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/modeltests/basic/models.py12
-rw-r--r--tests/regressiontests/queries/models.py8
2 files changed, 16 insertions, 4 deletions
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')
"""}