Skip to content

Commit

Permalink
Fixed #1477: URLFields now accept a maxlength parameter. Thanks, Matt…
Browse files Browse the repository at this point in the history
… Croydon.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@4295 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
jacobian committed Jan 8, 2007
1 parent 0421b25 commit f6390e8
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 7 deletions.
1 change: 0 additions & 1 deletion django/db/backends/ado_mssql/creation.py
Expand Up @@ -21,6 +21,5 @@
'SmallIntegerField': 'smallint', 'SmallIntegerField': 'smallint',
'TextField': 'text', 'TextField': 'text',
'TimeField': 'time', 'TimeField': 'time',
'URLField': 'varchar(200)',
'USStateField': 'varchar(2)', 'USStateField': 'varchar(2)',
} }
1 change: 0 additions & 1 deletion django/db/backends/mysql/creation.py
Expand Up @@ -25,6 +25,5 @@
'SmallIntegerField': 'smallint', 'SmallIntegerField': 'smallint',
'TextField': 'longtext', 'TextField': 'longtext',
'TimeField': 'time', 'TimeField': 'time',
'URLField': 'varchar(200)',
'USStateField': 'varchar(2)', 'USStateField': 'varchar(2)',
} }
1 change: 0 additions & 1 deletion django/db/backends/oracle/creation.py
Expand Up @@ -21,6 +21,5 @@
'SmallIntegerField': 'smallint', 'SmallIntegerField': 'smallint',
'TextField': 'long', 'TextField': 'long',
'TimeField': 'timestamp', 'TimeField': 'timestamp',
'URLField': 'varchar(200)',
'USStateField': 'varchar(2)', 'USStateField': 'varchar(2)',
} }
1 change: 0 additions & 1 deletion django/db/backends/postgresql/creation.py
Expand Up @@ -25,6 +25,5 @@
'SmallIntegerField': 'smallint', 'SmallIntegerField': 'smallint',
'TextField': 'text', 'TextField': 'text',
'TimeField': 'time', 'TimeField': 'time',
'URLField': 'varchar(200)',
'USStateField': 'varchar(2)', 'USStateField': 'varchar(2)',
} }
1 change: 0 additions & 1 deletion django/db/backends/sqlite3/creation.py
Expand Up @@ -24,6 +24,5 @@
'SmallIntegerField': 'smallint', 'SmallIntegerField': 'smallint',
'TextField': 'text', 'TextField': 'text',
'TimeField': 'time', 'TimeField': 'time',
'URLField': 'varchar(200)',
'USStateField': 'varchar(2)', 'USStateField': 'varchar(2)',
} }
8 changes: 6 additions & 2 deletions django/db/models/fields/__init__.py
Expand Up @@ -800,16 +800,20 @@ def flatten_data(self,follow, obj = None):
def formfield(self, initial=None): def formfield(self, initial=None):
return forms.TimeField(required=not self.blank, label=capfirst(self.verbose_name), initial=initial) return forms.TimeField(required=not self.blank, label=capfirst(self.verbose_name), initial=initial)


class URLField(Field): class URLField(CharField):
def __init__(self, verbose_name=None, name=None, verify_exists=True, **kwargs): def __init__(self, verbose_name=None, name=None, verify_exists=True, **kwargs):
kwargs['maxlength'] = kwargs.get('maxlength', 200)
if verify_exists: if verify_exists:
kwargs.setdefault('validator_list', []).append(validators.isExistingURL) kwargs.setdefault('validator_list', []).append(validators.isExistingURL)
self.verify_exists = verify_exists self.verify_exists = verify_exists
Field.__init__(self, verbose_name, name, **kwargs) CharField.__init__(self, verbose_name, name, **kwargs)


def get_manipulator_field_objs(self): def get_manipulator_field_objs(self):
return [oldforms.URLField] return [oldforms.URLField]


def get_internal_type(self):
return "CharField"

def formfield(self, initial=None): def formfield(self, initial=None):
return forms.URLField(required=not self.blank, verify_exists=self.verify_exists, label=capfirst(self.verbose_name), initial=initial) return forms.URLField(required=not self.blank, verify_exists=self.verify_exists, label=capfirst(self.verbose_name), initial=initial)


Expand Down

0 comments on commit f6390e8

Please sign in to comment.