diff options
| author | Karen Tracey <kmtracey@gmail.com> | 2009-12-13 22:08:03 +0000 |
|---|---|---|
| committer | Karen Tracey <kmtracey@gmail.com> | 2009-12-13 22:08:03 +0000 |
| commit | fee560f4e54816a1392342cb453cc22b54a60135 (patch) | |
| tree | 218ac4b448d1c07aa660fa4d66c6a1a0f6833d91 /django | |
| parent | 64736fe37f366519b52d236d1432c7b1fd831b02 (diff) | |
[1.1.X] Fixed #10969: Made US State field a CharField, fixing a few oddities in its behavior. Thanks Paul McLanahan.
r11847 from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@11859 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/localflavor/us/models.py | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/django/contrib/localflavor/us/models.py b/django/contrib/localflavor/us/models.py index 9465126db7..3e755da306 100644 --- a/django/contrib/localflavor/us/models.py +++ b/django/contrib/localflavor/us/models.py @@ -1,23 +1,14 @@ from django.conf import settings -from django.db.models.fields import Field - -class USStateField(Field): +from django.db.models.fields import Field, CharField +from django.contrib.localflavor.us.us_states import STATE_CHOICES + +class USStateField(CharField): """U.S. state (two uppercase letters)""" - def get_internal_type(self): - return "USStateField" - - def db_type(self): - if settings.DATABASE_ENGINE == 'oracle': - return 'CHAR(2)' - else: - return 'varchar(2)' - - def formfield(self, **kwargs): - from django.contrib.localflavor.us.forms import USStateSelect - defaults = {'widget': USStateSelect} - defaults.update(kwargs) - return super(USStateField, self).formfield(**defaults) - + def __init__(self, *args, **kwargs): + kwargs['choices'] = STATE_CHOICES + kwargs['max_length'] = 2 + super(USStateField, self).__init__(*args, **kwargs) + class PhoneNumberField(Field): """Phone number""" def get_internal_type(self): |
