From 4637a77ff8fedd67b3aaa98042d89e03465a82d6 Mon Sep 17 00:00:00 2001 From: Ian Kelly Date: Tue, 2 Dec 2008 18:40:40 +0000 Subject: [PATCH] Fixed #9706: made SlugField honor max_length in Oracle, matching the other backends. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9548 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/backends/oracle/creation.py | 2 +- tests/regressiontests/model_fields/models.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/django/db/backends/oracle/creation.py b/django/db/backends/oracle/creation.py index 648c42f3ead29..bff7e1bea5575 100644 --- a/django/db/backends/oracle/creation.py +++ b/django/db/backends/oracle/creation.py @@ -32,7 +32,7 @@ class DatabaseCreation(BaseDatabaseCreation): 'OneToOneField': 'NUMBER(11)', 'PositiveIntegerField': 'NUMBER(11) CHECK (%(qn_column)s >= 0)', 'PositiveSmallIntegerField': 'NUMBER(11) CHECK (%(qn_column)s >= 0)', - 'SlugField': 'NVARCHAR2(50)', + 'SlugField': 'NVARCHAR2(%(max_length)s)', 'SmallIntegerField': 'NUMBER(11)', 'TextField': 'NCLOB', 'TimeField': 'TIMESTAMP', diff --git a/tests/regressiontests/model_fields/models.py b/tests/regressiontests/model_fields/models.py index a1c2bb0bc81e9..6948fe51a573c 100644 --- a/tests/regressiontests/model_fields/models.py +++ b/tests/regressiontests/model_fields/models.py @@ -36,6 +36,9 @@ class Whiz(models.Model): class BigD(models.Model): d = models.DecimalField(max_digits=38, decimal_places=30) +class BigS(models.Model): + s = models.SlugField(max_length=255) + __test__ = {'API_TESTS':""" # Create a couple of Places. >>> f = Foo.objects.create(a='abc', d=decimal.Decimal("12.34")) @@ -88,4 +91,10 @@ class BigD(models.Model): >>> bd = BigD.objects.get(pk=bd.pk) >>> bd.d == decimal.Decimal("12.9") True + +# Regression test for #9706: ensure SlugField honors max_length. +>>> bs = BigS.objects.create(s = 'slug' * 50) +>>> bs = BigS.objects.get(pk=bs.pk) +>>> bs.s == 'slug' * 50 +True """}