summaryrefslogtreecommitdiff
path: root/tests/regressiontests/backends/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regressiontests/backends/models.py')
-rw-r--r--tests/regressiontests/backends/models.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/regressiontests/backends/models.py b/tests/regressiontests/backends/models.py
index db16d2c198..a041ab6b12 100644
--- a/tests/regressiontests/backends/models.py
+++ b/tests/regressiontests/backends/models.py
@@ -8,6 +8,13 @@ class Square(models.Model):
def __unicode__(self):
return "%s ** 2 == %s" % (self.root, self.square)
+class Person(models.Model):
+ first_name = models.CharField(max_length=20)
+ last_name = models.CharField(max_length=20)
+
+ def __unicode__(self):
+ return u'%s %s' % (self.first_name, self.last_name)
+
if connection.features.uses_case_insensitive_names:
t_convert = lambda x: x.upper()
else:
@@ -32,4 +39,25 @@ __test__ = {'API_TESTS': """
>>> Square.objects.count()
11
+#6254: fetchone, fetchmany, fetchall return strings as unicode objects
+>>> Person(first_name="John", last_name="Doe").save()
+>>> Person(first_name="Jane", last_name="Doe").save()
+>>> Person(first_name="Mary", last_name="Agnelline").save()
+>>> Person(first_name="Peter", last_name="Parker").save()
+>>> Person(first_name="Clark", last_name="Kent").save()
+>>> opts2 = Person._meta
+>>> f3, f4 = opts2.get_field('first_name'), opts2.get_field('last_name')
+>>> query2 = ('SELECT %s, %s FROM %s ORDER BY %s'
+... % (qn(f3.column), qn(f4.column), t_convert(opts2.db_table),
+... qn(f3.column)))
+>>> cursor.execute(query2) and None or None
+>>> cursor.fetchone()
+(u'Clark', u'Kent')
+
+>>> list(cursor.fetchmany(2))
+[(u'Jane', u'Doe'), (u'John', u'Doe')]
+
+>>> list(cursor.fetchall())
+[(u'Mary', u'Agnelline'), (u'Peter', u'Parker')]
+
"""}