diff options
| author | Karen Tracey <kmtracey@gmail.com> | 2009-12-13 21:56:18 +0000 |
|---|---|---|
| committer | Karen Tracey <kmtracey@gmail.com> | 2009-12-13 21:56:18 +0000 |
| commit | 2135befd64ce6c5c1ba765337e078a6cce7ae0f2 (patch) | |
| tree | e27670c710bafc0131225989f567476a86fd8ad5 /django | |
| parent | 07ba0dbaf75a72c3c3ab71ca5a80f0889ddabb72 (diff) | |
Fixed #10969: Made US State field a CharField, fixing a few oddities in its behavior. Thanks Paul McLanahan.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11857 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): |
